Fall in IT.

Javascript(ES6) 배열에서 중복값 제거하는 다양한 방법 본문

프로그래밍언어/Javascript & Typescript

Javascript(ES6) 배열에서 중복값 제거하는 다양한 방법

D.Y 2019. 10. 28. 14:03

안녕하세요.

 

오늘은 자바스크립트의 배열에서 중복값을 제거하는 다양한 방법에 대해서 알아보도록 하겠습니다.

 

코드

/**
 * 배열의 중복값을 제거하는 다양한 방법
 * 1. `Set`
 * 2. `Filter`
 * 3. `Reduce`
 * 
 * @param arr 
 */
function solution(arr)
{
    // # 1. Set
    let set = new Set([...arr]);

    //expected output: [1, 3, 5, 2, 4]
    console.log([...set]); 

    // # 2. Filter
    let ret = arr.filter((item, index) => arr.indexOf(item) === index);

    //expected output: [1, 3, 5, 2, 4]
    console.log(ret);

    // # 3. Reduce
    let ret2 = arr.reduce((unique, item) => { 
        return unique.includes(item) 
            ? unique 
            : [...unique, item];
    }, []); // 초기 Accumulator 값을 빈배열로 설정

    //expected output: [1, 3, 5, 2, 4]
    console.log(ret2);     
}

solution([1, 3, 1, 5, 2, 4, 2, 1]);

 

 

참조

 

Comments