所以我需要传入一个对象,其中每个属性都是数组。该函数将使用每个数组中保存的信息,但我希望通过检查其每个数组是否为空/空来检查整个对象是否为空(不仅仅是没有属性)。我目前所掌握的:
function isUnPopulatedObject(obj) { // checks if any of the object's values are falsy
if (!obj) {
return true;
}
for (var i = 0; i < obj.length; i++) {
console.log(obj[i]);
if (obj[i].length != 0) {
return false;
}
}
return true;
}
例如,这将导致上面的false
:
obj {
0: Array[0]
1: Array[1]
2: Array[0]
}
而这是我正在检查的空(也是真的):
obj {
0: Array[0]
1: Array[0]
2: Array[0]
}
上面的代码不起作用。提前道谢。
因此,如果我们想要遍历对象并查找该对象的每个键是否通过检查,我们可以使用object.keys
和数组#extraevery
,如下所示:
var allEmpty = Object.keys(obj).every(function(key){
return obj[key].length === 0
})
这将根据每次运行给定检查obj[key].length===0
是否返回true而将allempty
设置为布尔值(true/false)。
此对象将AllEmpty
设置为true:
var obj = {
0: [],
1: [],
2: []
}
当它设置为false时:
var obj = {
0: [],
1: [],
2: [],
3: [1]
}