JavaScriptの配列から文字列を探し出して削除するワンライナー


スポンサーリンク

以下のような配列の中から一つの文字を探し出して削除したいです。

var array = new Array();
array.push("A");
array.push("B");
array.push("C");

こんな感じ。

array.remove("B");

どうしたらいいですかね?

回答

ワンライナーで書くと以下のようになります。

let arr = ['A', 'B', 'C'];
arr = arr.filter(e => e !== 'B'); // will return ['A', 'C']

基本的には、削除したい要素と異なるすべての要素を選択して、配列をフィルタリングするという考え方です。

注:すべての要素を削除します。

最初の出現箇所のみを削除したい場合。

t = ['A', 'B', 'C', 'B'];
t.splice(t.indexOf('B'), 1); // will return ['B'] and t is now equal to ['A', 'C', 'B']