我有以下数组,我只想删除名称为空的条目,例如第一个和第三个对象,我该如何有效地做到这一点?
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
更好。