【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() の違いを意識して、状況に応じて使い分けましょう!
それでは、また!