javascript - 每个对象在对象数组中都应该至少有一个真实的属性值?

标签 javascript jquery reactjs ecmascript-6

我想创建一个返回 true 的函数(每个对象应该至少有一个 isValid:true),否则返回 false。

const Items = [{
    parentValidators: [{
      isValid: true
    }, {
      isValid: false
    }, {
      isValid: false
    }]
  },
  {
    parentValidators: [{
      isValid: true
    }, {
      isValid: false
    }, {
      isValid: false
    }]
  }
]

// i tried : 
validateSection() {
  Items.map(item => {
    if (item.parentValidators) {
      const logs = item.parentValidators;
      return logs.map(l => {
        return l.isValid ? true : l.isValid;
      });
    }
  }).map((i, indx, arr) => {
    let count = 0;
    if (i.includes('true')) {
      count++;
    }
    return count === array.length ? true : false;
  })

}

最佳答案

如果 Items 中的每一项都至少有一个 isValid 值为 true 的验证器,则返回 true 的函数是完美的用例对于数组 everysome 方法的组合:

const Items = [{
    parentValidators: [{
      isValid: true
    }, {
      isValid: false
    }, {
      isValid: false
    }]
  },
  {
    parentValidators: [{
      isValid: true
    }, {
      isValid: false
    }, {
      isValid: false
    }]
  }
]

// i tried : 
function validateSection() {
  return Items.every(validators => validators.parentValidators.some(i => i.isValid));
}

console.log(validateSection())

关于javascript - 每个对象在对象数组中都应该至少有一个真实的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48212508/

相关文章:

javascript - 正则表达式 - 在第二次出现的字符之间匹配字符串

javascript - 如何在客户端的jadecompile()中使用 "locals"选项?

jquery - onclick时如何将图像放入span标签内?

reactjs - 使用 typescript 控制 Electron 中的 WebView 对象

javascript - 动态更改时如何更改MenuItem(antd)的样式?

javascript - Tapestry 5.3 如何使用按钮检索文本字段值但不提交表单

javascript - 如何在滚动时使元素随视口(viewport)滑动?

javascript - 如何使用 jQuery 隐藏

javascript - JQuery 克隆递增 id 没有出现序列并且也删除行

reactjs - 无法访问 .env 中的变量键(dotenv 包 React)