38

重複の可能性:
javascript 配列から特定の要素を削除しますか?

具体的には、次のような配列があります。

var arr = [
    {url: 'link 1'},
    {url: 'link 2'},
    {url: 'link 3'}
];

ここで、貴重な要素 url "link 2" を削除し、次のように配列のみを削除した後:

arr = [
    {url: 'link 1'},
    {url: 'link 3'}
];

では、誰がこの問題を解決できるでしょうか? どうもありがとう

4

2 に答える 2

34

フィルターをかけることができます。

var arr = [
  {url: "link 1"},
  {url: "link 2"},
  {url: "link 3"}
];

arr = arr.filter(function(el){
  return el.url !== "link 2";
});

PS: Array.filterメソッドは JavaScript 1.6 で実装されており、ほとんどの最新のブラウザーでサポートされています。古いブラウザーをサポートする場合は、独自のブラウザーを作成できます。

于 2012-06-14T03:58:03.777 に答える
3

splice 関数を使用して、配列内の要素を削除します。

arr.splice(1, 1);

要素のプロパティに基づくインデックスを知らずに配列の要素を削除したい場合は、配列と各要素の各プロパティを反復処理する必要があります。

for(var a = 0; a < arr.length; a++) {
    for(var b in arr[a]) {
        if(arr[a][b] === 'link 2') {
            arr.splice(a, 1);
            a--;
            break;
        }
    }
}
于 2012-06-14T03:56:10.173 に答える