【发布时间】:2021-05-12 20:43:23
【问题描述】:
const isEmpty = Object.keys(data).every((key) => {
return data[key].length === 0;
});
如何检查对象中的所有数组是否为空。 我试过的这段代码的问题是我得到了这个:
data {
0: Array[]
1: Array[]
2: Array[]
}
data {
0: Array[]
1: Array[1]
2: Array[]
}
对于第一个对象,我得到假,这没关系,但第二个我得到真,但我想得到假,直到所有 arrays.length > 0,所以我只需要在这种情况下得到真:
obj {
0: Array[1]
1: Array[1]
2: Array[1]
}
【问题讨论】:
-
如果你知道你想要下面的
arrays.length > 0。那你为什么不用length === 0呢? -
您的
data完全无效。Array[0]应该是什么?如果这真的是你的代码,那将不会返回 false 或 true,而只会抛出错误...... -
写
Array[0]等是什么意思?如果您的意思是一个包含 0 个元素的数组,那么您的解决方案将为第一个提供true,第二个提供false,而不是第一个提供false,第二个提供true。此外,您想要的结果还不清楚,您说您希望它在所有arrays.length > 0之前都为真,然后说“我需要在这种情况下仅为真 ",这表明只有当所有arrays.length都等于 1 时才需要true -
我创建了解决方案
标签: javascript arrays reactjs loops object