【JavaScript】配列の重複する要素を削除する方法

こんにちは!CODE CLUB965のKです!

今回は、JavaScriptで配列の重複する要素を削除する方法について書こうと思います。

重複する要素を削除する方法

JavaScriptで、配列の重複した要素を削除するときは、indexOf()とfilter()を使うことで実現可能です。

function deleteElement ( arr ) {
	return arr.filter( function( value, index ) {
		return index === arr.indexOf( value ) ;
	} ) ;
}

上記の関数は、受け取った配列の、自身のインデックス番号が「indexOf()」の結果と一致しない要素を除外する処理になっています。
重複する場合は一番左側にある(最初の)要素が残ります。

ちなみに、重複する場合に一番右側にある(最後の)要素を残したい場合は、「lastIndexOf()」を使用するればOKです。

なので、indexOf()を使う場合は、

var result = deleteElement( [ "a", "b", "c", "d", "a", "e" ] ) ;

この処理結果は、

result = ["a","b","c","d","e"];

逆にlastIndexOf()を使用すると、

result = ["b", "c", "d","a","e"]

このような結果になります。

最後に

今回は、JavaScriptで配列の重複する要素を削除する方法について書きました。

indexOf() と lastIndexOf() の違いを意識して、状況に応じて使い分けましょう!

それでは、また!

Follow me!