我有一个像
var objArr = [Object{key="1", value="a"}, Object{key="2", value="b"}, ...]
我们是否有任何 Jquery 方法找到对象并将其删除。我知道使用$.each
$.each(objArr, function(index, obj) {
})
但是我们有什么简单有效的解决方案吗?
我有一个像
var objArr = [Object{key="1", value="a"}, Object{key="2", value="b"}, ...]
我们是否有任何 Jquery 方法找到对象并将其删除。我知道使用$.each
$.each(objArr, function(index, obj) {
})
但是我们有什么简单有效的解决方案吗?
如果没有 jQuery,只需使用javascript的过滤器功能:
var filtered = objArr.filter(function(o){return o.key!='badkey';});
(请注意,MDN 页面提供了与非常旧的浏览器兼容的提示)
要查找元素,您可以使用 .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