我有一个像
这样的javascript对象数组var objArr = [Object{key="1", value="a"}, Object{key="2", value="b"}, ...]
我们是否有任何Jquery方法找到该对象并将其删除。我知道使用$.each
$.each(objArr, function(index, obj) {
})
但我们是否有任何简单有效的解决方案?
答案 0 :(得分:3)
没有jQuery,只需使用the filter function的javascript:
var filtered = objArr.filter(function(o){return o.key!='badkey';});
(请注意,MDN页面提供了与旧版浏览器兼容的提示)
答案 1 :(得分:0)
要查找元素,可以使用.grep()函数 示例:过滤数字数组以包含不大于零的数字。
$.grep( [0,1,2], function(n,i){
return n > 0;
},true);
结果: [0]
或者,如果您只需要找到该元素的位置,则可以使用.inArray()函数 示例:查找与以下内容匹配的元素的位置:“1”
var arr = [ 4, 2, 3, 1, "hello" ];
var exist = $.inArray(1, arr);
结果:
exists = 3
对于删除,可能有一个帖子可以解决您的问题 How to remove specifc value from array using jQuery