gpt4 book ai didi

javascript - 检查嵌套数组中的每个值是真还是假的更好方法?

转载 作者:行者123 更新时间:2023-12-01 15:19:33 24 4
gpt4 key购买 nike

我有一个像这样的嵌套数组。

var arr = [[false,false,false,false],[false,false,false,false],[false,false,false,false],[false,false,false,false]]

我想检查每个值是否都是假的。我可以想到一种方法来做到这一点。
let sum = 0;
arr.forEach((row, i) => {
row.forEach((col, j) => {
sum = sum +arr[i][j]
});
});
if(sum === 0){
console.log("all values false")
}

这行得通。但是我很好奇是否有更好的方法?检查所有值是真还是假?

最佳答案

您可以使用嵌套 every()

var arr = [[false,false,false,false],[false,false,false,false],[false,false,false,false],[false,false,false,false]]
const res = arr.every(x => x.every(a => a === false));
console.log(res)


为了使代码更简洁,您可以先 flat()然后使用 every()
var arr = [[false,false,false,false],[false,false,false,false],[false,false,false,false],[false,false,false,false]]
const res = arr.flat().every(x => x === false)
console.log(res)


我正在考虑您只想检查 false .如果您想检查所有虚假值( null, undefined 等)。您可以使用 !而不是与 false 进行比较
const res = arr.every(x => x.every(a => !a));

关于javascript - 检查嵌套数组中的每个值是真还是假的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60837804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com