javascript - 当值为空时删除数组对象

标签 javascript jquery arrays json object

我有以下数组,我想只删除名称为空的条目,例如第一个和第三个对象,我应该如何有效地做到这一点?

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/

相关文章:

javascript - 对 Javascript 数组进行分组

javascript - 对于相同类型的工作,就性能而言,Javascript 和 jQuery 或 PHP 哪个更可取

c++ - 检查 json 数组中的每个值是否存在于其他 json 文件中

c++ - 向 C++ 中的结构数组添加元素遇到 "error no match for ‘operator=’"

mysql - 有没有办法将 JSON 字段中的数组与 MySQL 中的 JSON_ARRAY 进行比较?

javascript - 动态行创建挖空js

javascript - 嵌入式表达式渲染为数组而不是单个元素

javascript - 如何将 CSS 应用于输入标签值

javascript - 如何使用 jQuery 对基于特定列或索引的表进行总计?

jquery - 内联 JavaScript 不工作