我有一个对象数组,我想看看任何对象中“key”的“值”是否为“null”。即:
var array =
[{name:{} address : "something"},
{name:null address : "something2"},
{name:{} address : "something23"}]
在上面我想检查name
个对象是否为空return false
任何人都可以帮助或指导相应的来源吗?
答案 0 :(得分:4)
var data = [
{ name: ..., value: ... },
...
];
var hasUndefinedName = data.some(e => e.name===null || e.name===undefined);
或者,使用较旧的ES5语法:
...
var hasUndefinedName = data.some(function(e) {
return (e.name===null || e.name===undefined);
});
当然,如果打算删除未定义name
的元素,请使用Array's filter():
var data = [
{ name: ..., value: ... },
...
];
var filtered = data.filter(e => e.name!==null && e.name!==undefined);
答案 1 :(得分:1)
这就是你需要的:
var bool = false;
array.forEach(item => {
bool = bool || Object.keys(item).some(key => item[key] == null);
});
如果bool
等于true
,那么数组中至少有一个元素的属性等于null
;
由于==
检查了===
和== null
,我故意放置null
符号代替undefined
。