在我的应用程序中,我有一个数据,它是一个对象数组。如果数组中任何对象中的任何对象属性为空,则不应保存数据。考虑下面的示例数据,如何循环遍历数组中的所有对象并检查是否有任何空值。在下面的数据中,第三个对象有一个空的 fname 属性,如何找到这样的空对象属性
var obj = [{fname:"name1",lname:"lname1"},
{fname:"name2",lname:"name2"},
{fname:"",lname:"name3"}
];
最佳答案
您可以使用Object.values()
获取对象中所有值的列表。您可以使用 filter()
过滤数组中的元素。将这两者结合起来,你可以做这样的事情:
您还可以保留所有不需要的值的数组,然后检查您要过滤的对象值中是否存在这些值。
var obj = [{fname:"name1",lname:"lname1"},
{fname:"name2",lname:"name2"},
{fname:"",lname:"name3"},
{fname:null,lname:"name4"}];
var filterobj = obj.filter(function(o){
var values = Object.values(o);
var arr2 = ["", null]; //array of values you don't want.
if(arr2.some(function (val) { return values.indexOf(val) >= 0; })) //checks if atleast one value of arr2 is in values.
return false;
else
return true;
});
console.log(filterobj);
关于javascript - 如何在 Javascript 中检查对象数组中的空对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45027181/