var myData = {
"value1": {
"ext": false
},
"value2": {
"ext": false
}
};
myData.value1.ext = true;
如何遍历myData
以查看对象中所有属性的ext
是否为true
?
类似这样的东西:
if (value1.ext === true && value2.ext === true) {
//do something
}
答案 0 :(得分:4)
您可以在every()
上使用Object.values()
var myData = {
"value1": {
"ext": false
},
"value2": {
"ext": false
}
};
const res = Object.values(myData).every(x => x.ext);
console.log(res)
答案 1 :(得分:2)
您可以获取值并检查属性。
var object = { value1: { ext: true }, value2: { ext: true } };
console.log(Object.values(object).every(({ ext }) => ext));
答案 2 :(得分:0)
您可以使用every()来检查值是否符合条件:
var myData = {
"value1": {
"ext": false
},
"value2": {
"ext": false
}
};
const areValuesTrue = Object.keys(myData).every(value => myData[value].ext == true)
console.log(areValuesTrue)
答案 3 :(得分:0)
您可以先执行Object.values,然后执行map
以获取ext的所有值。然后使用includes
检查是否有true
var myData = {
"value1": {
"ext": false
},
"value2": {
"ext": false
}
};
let k = Object.values(myData).map(item => item.ext);
// this will be true if any ext value is true
console.log(k.includes(true))