检查对象数组中是否存在空值

Pat*_*ick 2 javascript arrays iteration object underscore.js

我有这个对象数组。

[Object, Object, Object]
0:Object
 name: "Rick"
 Contact: "Yes"
 Date:'null'
 Location:'null'
1:Object
 name:"Anjie"
 Contact:"No"
 Date:'13/6/2016'
 Location:'LA'
2:Object
 name:"dillan"
 Contact:"Maybe"
 Date:'17/6/2016'
 Location:'NY'
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,日期和位置的 Object[0] 存在空值。我想检查整个对象数组中是否存在空值。如果“日期”和“位置”存在空值,我应该能够在控制台上显示“空值”。如果不存在空值,则应在控制台上显示“数据正确”。

有人可以让我知道如何实现这一目标吗?

Pra*_*lan 6

Object.keys()使用和Array#some方法进行操作

var data = [{
  name: "Rick",
  Contact: "Yes",
  Date: null,
  Location: null
}, {
  name: "Anjie",
  Contact: "No",
  Date: '13/6/2016',
  Location: 'LA'
}, {
  name: "dillan",
  Contact: "Maybe",
  Date: '17/6/2016',
  Location: 'NY'
}];


// iterate over array elements
data.forEach(function(v, i) {
  if (
    // get all properties and check any of it's value is null
    Object.keys(v).some(function(k) {
      return v[k] == null;
    })
  )
    console.log('null value present', i);
  else
    console.log('data right', i);
});
Run Code Online (Sandbox Code Playgroud)


Edu*_*oid 5

var wasNull = false;
for(var i in objectsArray) {
  if(objectsArray[i].Date == null || objectsArray[i].Location == null) wasNull = true;
}
if(wasNull) console.log('Was null');
else console.log('Data right');
Run Code Online (Sandbox Code Playgroud)