2017-12-20 7 views
-1

私はコンテナのリストを持っています。削除ボタンを追加しましたので、選択したものを削除できます。 それは私のIDを知っているこの時点。Javascript id = myidの値を持つ配列からエントリを削除する

removeIT(id) { 
    this.data = this.data.filter(id); 
} 

をしかし、それは何も削除しないです:

this.data = [{ 
    id: 1, 
    title: 'Container 1', 
}, 
{ 
    id: 5, 
    title: 'Container 2', 
}]; 

私がしようとしている:

は、ここでのデータです。これどうやってするの?

+0

合計オブジェクトを削除しますか? – Durga

+0

あなたが渡している 'id'の値は何ですか? – Quentin

+0

関数sintaxが正しくありません。 –

答えて

1
removeIT(id) { 
    this.data = this.data.filter(function(obj) { return obj.id !== id; }); 
} 

フィルタ関数(ブール値を返す関数の空想名)述語を取り、述語が

+0

これはJavaScriptでは実行されません。 –

+1

答えで矢印機能を使用しないでください.100%はIEでは機能しません。 – Archer

+0

私の場合私はAngularを使用しているので、distで翻訳されるので問題ありません – max2020

4

data = [ 
 
    { 
 
    id: 1, 
 
    title: 'Container 1', 
 
    }, 
 
    { 
 
    id: 5, 
 
    title: 'Container 2', 
 
    } 
 
]; 
 

 
removeById(1); 
 
console.log(data); 
 

 
function removeById(id) { 
 
    for (var i in data) 
 
    if (data[ i ].id == id) 
 
     data.splice(i, 1); 
 
}

0

これを試し真であるすべての要素を含む配列を返します:

const removeIT = (id) => (
    data.filter(function(e) { 
     return(e.id !== id); 
    }) 
) 
関連する問題