2012-02-20 47 views
1

jquery配列オブジェクトから項目を削除する方法。jqueryの配列オブジェクトから項目を削除する方法

私は以下のようにスプライス法を使用しました。しかし、配列[i]の次の項目をスライスします。

$.each(array, function (i, item) { 
    var user = array[i]; 
    jQuery.each(array2, function (index, idata) { 
     debugger 
     if (idata.Id == user.UserId) { 
      tempFlag = 1; 
      return false; // this stops the each 
     } 
     else { 
      tempFlag = 0; 
     } 
    }); 

    if (tempFlag != 1) { 
    //removes an item here 

     array.splice(user, 1); 
    } 
}) 

ここでどこが間違っているのか教えていただけますか?

答えて

4

iの代わりに、userの値をインデックスとして使用しています。つまり、array[i]です。

$.each(array, function (i, item) { 
    var user = array[i]; 
    jQuery.each(array2, function (index, idata) { 
    debugger 
    if (idata.Id == user.UserId) { 
     tempFlag = 1; 
     return false; // this stops the each 
    } else { 
     tempFlag = 0; 
    } 
    }); 

    if (tempFlag != 1) { 
    //removes an item here 
    array.splice(i, 1); 
    } 
}); 

あなたが現在あなたはjQueryの上の配列から要素を削除するには、これを試してみてください...しかし、

6

をループしている配列から項目を削除するから問題を得ることができます:

jQuery.removeFromArray = function(value, arr) { 
    return jQuery.grep(arr, function(elem, index) { 
     return elem !== value; 
    }); 
}; 

var a = [4, 8, 2, 3]; 

a = jQuery.removeFromArray(8, a); 

Clean way to remove element from javascript array (with jQuery, coffeescript)

+0

これはクリーンですが、現在のフォームの質問には適用されません。コードは配列内のアイテムを探しているだけでなく、アイテムを探しています他の配列に項目が含まれている配列の1つのプロパティが項目のプロパティに対応しています。 – Guffa

+0

しかし、それは私を助け、ありがとう。 – Ankur

関連する問題