【问题标题】:Method to check if array element in Array contains a false检查 Array 中的数组元素是否包含 false 的方法
【发布时间】:2020-07-14 13:54:45
【问题描述】:

我有一个包含这个数组的状态。我正在尝试编写一个遍历“report”数组中的每个元素并检查“sets”数组以查看“completed”是否为真的方法。我正在寻找干净的代码。谢谢

【问题讨论】:

  • 看看Array.prototype.every()Array.prototype.some()

标签: javascript arrays json filter


【解决方案1】:

Array#some循环每个对象的Object.values

const notCompleted = Object.values(obj.report)
     .some(({sets})=>sets.some(({completed})=>!completed));

【讨论】:

    【解决方案2】:

    我认为这应该适用于您的情况:

    const reports = [
      {
        sets: 
        [
          {
            completed: true
          },
          {
            completed: true
          } 
        ]
      },
      {
        sets: 
        [
          {
            completed: true
          },
          {
            completed: true
          } 
        ]
      },
      {
        sets: 
        [
          {
            completed: true
          },
          {
            completed: true
          } 
        ] 
      }
    ]
    
    
    const isTrue = reports.reduce((acc, report) => {
      return acc ? report.sets.every((el) => el.completed === true) : false;
    }, true);
    
    console.log(isTrue);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-13
      • 2012-05-03
      • 1970-01-01
      • 2017-11-24
      • 2016-07-02
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多