作 ▸
JavaScriptで配列から重複した値を消す
reduce
の第二引数 (最初の a
値として扱われる) にカラの配列を渡して push
してやると、結果を配列に詰め直せる
['C','A','B','C','B'].reduce((a, v) => {
if (a.indexOf(v) < 0) a.push(v);
return a;
}, []);
// -> ["C", "A", "B"]
['C','A','B','C','B'].sort().reduce((a, v) => {
if (v !== a[a.length - 1]) a.push(v);
return a;
}, []);
// -> ["A", "B", "C"] ※元と順番変わる
どちらの方法も比較は ===
で行われることを留意