[英]AngularJS : check if key/value exist in object and construct an array of objects
[英]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);
使用includes
与map
和Object.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.