배열에서 중복값 제거하는 방법[JS]

BANGJH·2020년 1월 10일
4

JS ONE PIECE

목록 보기
10/11
post-thumbnail

일을 하다보면 배열에 유니크한 값만 남기고 싶을 때가 있다.
그 때 제가 쓰는 방법을 알려드리겠습니다.

const arr = [2,1,5,1,6,5,2,3];
    
// 1. Set
// new Set([iterable])
// Set 객체는 컬렉션으로, 삽입 순서대로 요소를 순회할 수 있다.
// 그리고 Set 내의 값은 한 번만 나타낼 수 있다. 즉, Set 내의 값은 유일하다.
// 단, 배열 내의 참조 값은 적용X
const set = Array.from(new Set(arr)); // [2, 1, 5, 6, 3]


// 2. reduce
// Array.includes(value) : value가 Array배열에 존재하는지 판단해 true, false를 반환합니다.
arr.reduce((acc,curr) => acc.includes(curr) ? acc : [...acc,curr],[]); 
// [2, 1, 5, 6, 3]


// ES6를 사용 못 할 때

// 1. reduce, indexOf
arr.reduce(function(acc,curr,index){
    acc.indexOf(curr) > -1 ? acc : acc.push(curr);
    return acc;
},[]); // [2, 1, 5, 6, 3]

// 2. filter, indexOf
arr.filter(function(a, i, self){
	return self.indexOf(a) === i;
}); // [2, 1, 5, 6, 3]
profile
안녕하세요 신입 웹개발자입니다.

0개의 댓글