jQuery Array没有在我的数组中找到对象?

时间:2012-04-20 23:34:54

标签: javascript jquery arrays

我有以下几个方面:

myArray哪个控制台输出为:

[>Object, >Object, >Object, >Object] 

最后一项打开:

Object
helper: true
id: 0
__proto__: Object

我想找到然后从我的数组中删除这个项目,但总是-1卡在这里。想法?

jQuery.inArray([{'helper':true}], myArray)

由于

2 个答案:

答案 0 :(得分:1)

使用jQuery.each代替jQuery.inArray查找不需要的对象并将其从数组中删除:

var arr = [
 { helper: false },
 { helper: true },
 { helper: false }
];

var found = -1;
jQuery.each(arr, function(index, obj) {
 if (obj.helper) {
  found = index;
  return false;
 }
});

if (found > -1) {
 arr.splice(found, 1);
}

答案 1 :(得分:1)

您可以使用jQuery.grep过滤掉Array的元素:

myArray = $.grep(myArray, function (item) {
    return !item.helper;
});

关于inArray:您的第一个参数是定义新的ArrayObject。由于它们是new,因此它们也不能在myArray范围内。