filterを使って配列の重複をはじく

重複を削除

const arr = [1,2,3,3,2,2,5,4,6,6,7];
const newArr = arr.filter((v, i, self) => {
            return self.indexOf(v) === i;
        });
console.log(newArr); // [ 1, 2, 3, 5, 4, 6, 7 ]

重複のみを抽出


const arr = [1,2,3,3,2,2,5,4,6,6,7]; const newArr = arr.filter((v, i, self) => { return self.indexOf(v) !== self.lastIndexOf(v); }); console.log(newArr); // [ 2, 3, 3, 2, 2, 6, 6 ]

重複を検出したものを重複しないでリスト

const arr = [1,2,3,3,2,2,5,4,6,6,7];
const newArr = arr.filter((v, i, self) => {
            return self.indexOf(v) === i && i !== self.lastIndexOf(v);
        });
console.log(newArr); // [ 2, 3, 6 ]

関連記事