JavaScriptで配列から重複する要素を取り除く
方法1:filter
メソッドとindexOf
メソッドを利用する
const list = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Sun', 'Sun']; const day = list.filter((x,i,self) =>{ return self.indexOf(x) === i; }) console.log(day); // ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
- Array.prototype.indexOf()
- indexOf() メソッドは引数に与えられた内容と同じ内容を持つ配列要素の内、最初のものの添字を返します。存在しない場合は -1 を返します。
方法2:スプレッド構文とSet
オブジェクトを利用する
const list = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Sun', 'Sun']; const day = [...(new Set(list))]; console.log(day); // ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
Set
オブジェクトは重複しない値の集合を管理するためのオブジェクト。