如何在解构时检查对象道具是否存在?

问题描述 投票:1回答:1

我有此声明:

const {
    'xsi:Event': {
      'xsi:eventData': [
        {
          'xsi:call': [
            {
              'xsi:extTrackingId': [extTrackingId],
              'xsi:personality': [personality],
              'xsi:internalReleaseCause': [releaseCause],
            },
          ],
        },
      ],
    },
  } = data

我正在从某些api解析复杂对象。最上面是对象的真实示例。在某些情况下,我具有相同的结构,但没有属性'xsi:internalReleaseCause',因此在这种情况下,我无法为releaseCause常量定义值。

问题是如何即时检查'xsi:internalReleaseCause'道具是否存在?

javascript node.js destructuring
1个回答
0
投票

const data= {
    'Event': {
      'eventData': [
        {
          'call': [
            {
              'extTrackingId': [],
              'personality': [],
              'internalReleaseCause': ['hi'],
            },
          ],
        },
      ],
    },
  }


var { Event: {eventData: [{call:[{extTrackingId:[],personality:[],internalReleaseCause}]}]} } = data;
console.log(internalReleaseCause[0])

我们可以使用此对象破坏来快速识别internalReleaseCause,但对象键中有一些特殊字符(:)。我不确定如何逃避它们,但是如果有办法可以摆脱它们,那么下面的代码片段将起作用,并且您可以直接识别该对象。希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.