ES6 配列の重複削除方法
ES6配列の重複排除手法
- Set データ構造を使用して
let arr = [1, 2, 2, 3, 4, 4];
let newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4]
- フィルタメソッド使う
let arr = [1, 2, 2, 3, 4, 4];
let newArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(newArr); // [1, 2, 3, 4]
- reduceメソッドを使用する
let arr = [1, 2, 2, 3, 4, 4];
let newArr = arr.reduce((prev, curr) => prev.includes(curr) ? prev : [...prev, curr], []);
console.log(newArr); // [1, 2, 3, 4]
- Mapデータ構造を使用する
let arr = [1, 2, 2, 3, 4, 4];
let map = new Map();
let newArr = [];
for(let i = 0; i < arr.length; i++) {
if(!map.has(arr[i])) {
map.set(arr[i], true);
newArr.push(arr[i]);
}
}
console.log(newArr); // [1, 2, 3, 4]
具体的な状況に応じて適切な方法を選択できる共通の重複削除方法は、上記の通りです。