4

私は次の領域を持っています:

コンソールが次のように出力する myArray:

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

最後に開いたアイテム:

Object
helper: true
id: 0
__proto__: Object

このアイテムを見つけて配列から削除したいのですが、ここで常に-1でスタックします。アイデア?

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

ありがとう

4

2 に答える 2

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);
}
于 2012-04-20T23:56:29.203 に答える
1

Arraywithの要素を除外できますjQuery.grep:

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

についてinArray:あなたの最初の引数は新しいArrayとを定義していObjectます。彼らがnewここにいるので、彼らも の中にいることはできませんmyArray

于 2012-04-20T23:57:05.313 に答える