我有以下数组,我想只删除名称为空的条目,例如第一个和第三个对象,我应该如何有效地做到这一点?
var myopj =[
{ "Name": "", "Value": "" }
{ "Name": "aaa", "Value": "bbb" },
{ "Name": "", "Value": "" }
];
我在 SO 中看到了一些示例,但就我而言,它有点复杂,我需要删除值为 ""
arr.splice( arr.indexOf( "name" ), 1 );
最佳答案
这应该有效:
myopj = myopj.filter(function(o){return o.Name});
严格来说,这会创建一个新数组并将其分配给您的 myopj
变量,而不是从旧数组中删除项目,但这可能是实现您所需的最简单的方法。
如果您的数组非常大,并且您确实想要删除项目,则需要使用 for
循环并使用 splice
删除不需要的项目。不需要,但我认为使用 filter
更好。
关于javascript - 当值为空时删除数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26910346/