1

我有一个像

var objArr = [Object{key="1", value="a"}, Object{key="2", value="b"}, ...]

我们是否有任何 Jquery 方法找到对象并将其删除。我知道使用$.each

$.each(objArr, function(index, obj) {

})

但是我们有什么简单有效的解决方案吗?

4

2 回答 2

3

如果没有 jQuery,只需使用javascript的过滤器功能

var filtered = objArr.filter(function(o){return o.key!='badkey';});

(请注意,MDN 页面提供了与非常旧的浏览器兼容的提示)

于 2012-09-06T15:10:05.563 回答
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);

结果:

存在 = 3

对于删除,有一个帖子可能可以解决您的问题 How to remove specific value from array using jQuery

于 2012-09-06T16:00:22.430 回答