只需要提出一个条件,我需要根据条件是否为真显示一个 block
我有一个结构如下的数组
const data = [
{ name: "item1" , values : [0,0,0,0,0]},
{ name: "item2" , values : [0,0,0,0,0]},
{ name: "item3" , values : [0,0,0,0,0]}
] // return false
const data = [
{ name: "item1" , values : [0,0,0,0,0]},
{ name: "item2" , values : [0,1,0,0,0]},
{ name: "item3" , values : [0,0,0,0,0]}
] // return true
基本上我需要以这样一种方式进行检查:如果每个对象中“值”内的所有条目均为 0,则返回 false。如果“values”中的任何条目不是 0,则返回 true;
尝试过这样的事情。但是好像不工作
const isZero= (currentValue) => currentValue === 0;
console.log(data.every(isZero));
最佳答案
您可以检查数组和值
。
const check = array => array.some(({ values }) => values.some(Boolean));
console.log(check([{ name: "item1", values: [0, 0, 0, 0, 0] }, { name: "item2", values: [0, 0, 0, 0, 0] }, { name: "item3", values: [0, 0, 0, 0, 0] }])); // return false
console.log(check([{ name: "item1", values: [0, 0, 0, 0, 0] }, { name: "item2", values: [0, 1, 0, 0, 0] }, { name: "item3", values: [0, 0, 0, 0, 0] }])); // return true
关于javascript - 对作为对象一部分的每个数组元素都有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59542632/