所以我需要传入一个对象,其中每个属性都是数组。该函数将使用每个数组中保存的信息,但我想通过检查每个数组是否为空/空来检查整个对象是否为空(不仅仅是没有属性)。到目前为止我所拥有的:
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
})
这将设置allEmpty
布尔值(真/假),取决于我们每次运行给定的检查是否obj[key].length === 0
返回 true 或 false。
该对象设置allEmpty
为真:
var obj = {
0: [],
1: [],
2: []
}
虽然这将其设置为 false:
var obj = {
0: [],
1: [],
2: [],
3: [1]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)