繁体   English   中英

我正在尝试检查给定值是否作为对象数组中的键存在

[英]I am trying to check if given value exist as key in array of objects

我正在尝试检查给定值是否作为对象数组中的键存在

var obj = [{
  tapCount1: '10'
}, {
  tapCount2: '500'
}, {
  tapCount3: '1250'
}, {
  tapCount4: '1250'
}, {
  wtOfSample: '41.00'
}, {
  initialVolume: '66.0'
}, {
  tapCountvol1: '60.0'
}, {
  tapCountvol2: '53.0'
}, {
  tapCountvol3: '52.0'
}, {
  tapDensity: '0.788'
}, {
  compressibilityIndex: '21.212'
}, {
  hausnerRatio: '1.269'
}];

我用下面的代码

if (arrTDTData.hasOwnProperty("tapCount1") == false) {
  count1 = 0;
} else {
  count1 = arrTDTData.tapCount1;
}

我想检查键是否等于tapCount1,然后它将返回true,否则flase`''

如果要检查数组中是否存在具有tapCount1键的对象,则可以使用some()

some()方法测试数组中的至少一个元素是否通过了由提供的函数实现的测试。 它返回一个布尔值。

 var obj = [{"tapCount1":"10"},{"tapCount2":"500"},{"tapCount3":"1250"},{"tapCount4":"1250"},{"wtOfSample":"41.00"},{"initialVolume":"66.0"},{"tapCountvol1":"60.0"},{"tapCountvol2":"53.0"},{"tapCountvol3":"52.0"},{"tapDensity":"0.788"},{"compressibilityIndex":"21.212"},{"hausnerRatio":"1.269"}]; var result = obj.some(o => "tapCount1" in o); console.log(result); 

使用includesmapObject.keys (和reduce平坦化阵列):

 var obj = [{tapCount1:'10'},{tapCount2:'500'},{tapCount3:'1250'},{tapCount4:'1250'},{wtOfSample:'41.00'},{initialVolume:'66.0'},{tapCountvol1:'60.0'},{tapCountvol2:'53.0'},{tapCountvol3:'52.0'},{tapDensity:'0.788'},{compressibilityIndex:'21.212'},{hausnerRatio:'1.269'}]; const res = obj.map(Object.keys).reduce((acc, curr) => acc.concat(curr)).includes("tapCount1"); console.log(res); 

您还可以通过hasOwnProperty在数组本身上使用some hasOwnProperty (以避免扫描原型):

 var obj = [{tapCount1:'10'},{tapCount2:'500'},{tapCount3:'1250'},{tapCount4:'1250'},{wtOfSample:'41.00'},{initialVolume:'66.0'},{tapCountvol1:'60.0'},{tapCountvol2:'53.0'},{tapCountvol3:'52.0'},{tapDensity:'0.788'},{compressibilityIndex:'21.212'},{hausnerRatio:'1.269'}]; const res = obj.some(e => e.hasOwnProperty("tapCount1")); console.log(res); 

您可以得到一个对象并检查想要的属性。

 var array = [{ tapCount1: '10' }, { tapCount2: '500' }, { tapCount3: '1250' }, { tapCount4: '1250' }, { wtOfSample: '41.00' }, { initialVolume: '66.0' }, { tapCountvol1: '60.0' }, { tapCountvol2: '53.0' }, { tapCountvol3: '52.0' }, { tapDensity: '0.788' }, { compressibilityIndex: '21.212' }, { hausnerRatio: '1.269' }], tapCount1 = 'tapCount1' in Object.assign({}, ...array); console.log(tapCount1); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM