javascript - 如何在 Javascript 中检查对象数组中的空对象属性

标签 javascript

在我的应用程序中,我有一个数据,它是一个对象数组。如果数组中任何对象中的任何对象属性为空,则不应保存数据。考虑下面的示例数据,如何循环遍历数组中的所有对象并检查是否有任何空值。在下面的数据中,第三个对象有一个空的 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/

相关文章:

javascript - 获取另一个js文件中html元素的值

javascript - 为什么我的数组是空的? React 读取 json api

javascript - Mithril js,m.request()循环和concat数组有什么好的方法吗?

javascript - SetTimeout 在 Angular js 中失败?

javascript - 图表-用独特的X轴值生成自定义趋势

javascript - 在 MacBook 上降级节点

javascript - 在 Grunt.js 和 Assemble 中删除目录从 'src' 到 'dest' 路径

javascript - 在 Elementor 中使用 HTML Widget 将 Javascript 添加到页面时出现 403 服务器错误

javascript - 按多个条件对多维数组进行排序

javascript - 叠加 2x 图像 Blob