【问题标题】:how to check key value pair in javascript array of object如何检查对象的javascript数组中的键值对
【发布时间】:2020-10-04 13:45:54
【问题描述】:
let devicesInfo = [
  { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' },
  { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' },
  { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' }
  ]

let deviceId= "96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013"

我想检查 deviceinfo 数组中的 deviceId 并在结果中获取它的值。

【问题讨论】:

  • Object.entries 可能是您想要的。但老实说,我不明白你想要的结果(“检查”)是什么。
  • 在您的示例中,您有具有相同键和值的重复对象。如果键重复,值是否始终相同?如果不是,它应该获取第一个对象的值还是最后一个对象的值?你也可以分享你的尝试吗?
  • “检查键值对”是什么意思?

标签: javascript node.js


【解决方案1】:

let devicesInfo = [
  { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' },
  { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' },
  { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' }
];

let deviceId= "96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013";

let deviceValue = 'Device not found';

devicesInfo.forEach(device => {
  deviceValue = device[deviceId] ?? deviceValue;
});

console.log(deviceValue);

【讨论】:

    【解决方案2】:

    let devicesInfo = [
      { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' },
      { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' },
      { '96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013': '::1' }
      ]
    
    let deviceId= "96abc32b47fc10c88704b9a799c65b5c05455f4a9ef92013"
    
    const getDevice = (id) => {
      devicesInfo.filter((val) => val.hasOwnProperty(id));
      return devicesInfo[0] ? devicesInfo[0][id] : undefined;
    };
    
    console.log(getDevice(deviceId)); // '::1'
    
    console.log(getDevice('fhqwhgads')); // undefined

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2018-03-08
      相关资源
      最近更新 更多