如何检查对象内的数组是否为空 JavaScript

use*_*XYZ 1 javascript arrays loops object reactjs

const isEmpty = Object.keys(data).every((key) => {
  return data[key].length === 0;
});
Run Code Online (Sandbox Code Playgroud)

如何检查对象中的所有数组是否为空。我试过的这段代码的问题是我得到了这个:

data {
    0: Array[]
    1: Array[]
    2: Array[]
}
data {
    0: Array[]
    1: Array[1]
    2: Array[]
}
Run Code Online (Sandbox Code Playgroud)

对于第一个对象,我得到错误,这没关系,但是对于第二个对象,我得到正确的但我想得到错误,直到所有的 arrays.length > 0,所以我只需要在这种情况下得到 true:

obj {
    0: Array[1]
    1: Array[1]
    2: Array[1]
}
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 6

您可以检查所有值的长度。

const isEmpty = data => !Object.values(data).every(({ length }) => length);

console.log(isEmpty({ 0: [], 1: [], 2: [] }));
console.log(isEmpty({ 0: [], 1: [1], 2: [] }));
console.log(isEmpty({ 0: [0], 1: [1], 2: [2] }));
Run Code Online (Sandbox Code Playgroud)