배열 중복값 제거 방법 3가지

GY·2021년 7월 25일
0

메소드 정리

목록 보기
2/14
post-thumbnail

알고리즘 문제를 풀면서 자주 중복값을 제거해야할 때가 생긴다.
중복값을 제거하는 여러가지 방법을 다시 한번 복습하는 차원에서 정리해보았다.
어떤 원리로 작동하는 건지 뜯어보았다.

forEach()+includes()

uniqueArr 에 없는 요소만 dupArr에서 비교해 가져온다⇒중복되지 않은 값들만 가져와 uniqueArr에 넣는다.

const dupArr = [1, 2, 3, 1, 2];

let uniqueArr = [];
dupArr.forEach((element) => {
    if (!uniqueArr.includes(element)) {
        uniqueArr.push(element);
    }
});

new Set+from()/forEach()

new Set으로 set객체로 만들어 유일한 값만 남긴다. 단, spread syntax로 다시 펼쳐 배열형태로 만들어주어야 한다.

const dupArr = [1, 2, 3, 1, 2];

const set = new Set(dupArr);

const uniqueArr = [...set];

filter()+indexOf()

'첫번째'로 나타나는 값의 인덱스가 검사하는 현재 값의 인덱스와 같을 때 ⇒ 즉, 검사하는 값이 첫번째로 나타난 값일 때만 리턴 (두번쨰,세번째로 똑같은 값이 나타나면 리턴하지 않음)

const dupArr = [1, 2, 3, 1, 2];

const uniqueArr = dupArr.filter((element, index) => {
    return dupArr.indexOf(element) === index;
});

출처: https://hianna.tistory.com/422

profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.

0개의 댓글