javascript - 对作为对象一部分的每个数组元素都有条件

标签 javascript ecmascript-6 ecmascript-5

只需要提出一个条件,我需要根据条件是否为真显示一个 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/

相关文章:

javascript - es6 方法内部和外部构造函数 - knockout

javascript - 对于新支持的功能,是否有一个好的 javascript 后备库

javascript - [97,98].map(String.fromCharCode) 的奇怪输出

javascript - 创建 React 应用程序未将 abab 模块编译为 ES5 兼容代码,导致 IE11 失败

javascript - 使用 Bower 编程 API 强制最新

javascript - HTML5 在 index.html 中导入外部本地 html 文件

javascript - 简单的正则表达式奇怪的结果

javascript - 如何在 JavaScript 中移动带方向的 div?

javascript - 如何在JS中导出变量之前运行fetch?

JavaScript:绝对 URL 作为导入中的 es 模块地址