检查对象数组中的所有值是否都等于 false 并在 React 中返回 true

Div*_*ffy 2 javascript arrays reactjs

我试图检查数组中的所有对象是否等于 false ,如果是,则在反应中返回 true 。我的对象数组如下所示

[{"filter":"ASIA","key":0,"isChecked":false},{"filter":"INDIA","key":1,"isChecked":false},{"filter":"MANDYA","key":2,"isChecked":false},{"filter":"GOA","key":3,"isChecked":false},{"filter":"KERALA","key":4,"isChecked":false}]
Run Code Online (Sandbox Code Playgroud)

我尝试使用every和some来编写以下代码:

let check = arr.some(element => element.isChecked === false);
Run Code Online (Sandbox Code Playgroud)

和

let check = arr.every(element => element.isChecked === false);
Run Code Online (Sandbox Code Playgroud)

上述两个语句都返回 false

Dre*_*ese 5

let check = arr.every(element => element.isChecked === false);应该是正确的。您想要检查并断言数组中的每个元素都满足条件。

它可以简化一点,arr.every(({ isChecked }) => !isChecked);因为isChecked它已经是一个布尔值。

const arr = [{"filter":"ASIA","key":0,"isChecked":false},{"filter":"INDIA","key":1,"isChecked":false},{"filter":"MANDYA","key":2,"isChecked":false},{"filter":"GOA","key":3,"isChecked":false},{"filter":"KERALA","key":4,"isChecked":false}];

const check = arr.every(({ isChecked }) => !isChecked);

console.log(check);
Run Code Online (Sandbox Code Playgroud)