[javascript / js] 배열 중복 제거

2022. 1. 6. 20:36
반응형

1. Set

Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다. 즉, 중복된 요소가 제거된 값들을 저장할 수 있다.

반환 값은 새로운 Set 객체이다. → set을 Array로 변환하기 위해서 전개 연산자를 사용해야한다.

const arr = [1, 2, 3, 3, 1, 4];
const set = new Set(arr); // {1, 2, 3, 4, __proto__:{...}}
const uniqueArr = [...set]; // [1, 2, 3, 4]

2. indexOf(), filter()

indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환한다. 일치하는 값이 없으면 -1을 반환한다.

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.

const arr = [1, 2, 3, 3, 1, 4];
const uniqueArr = arr.filter((el, idx) => arr.indexOf(el) === idx)
console.log(uniqueArr); // [1, 2, 3, 4]

3. forEach(), includes()

forEach() 메서드는 주어진 함수를 배열 요소 각각에 대해 실행한다.

includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별한다.

const arr = [1, 2, 3, 3, 1, 4];
const uniqueArr = [];
arr.forEach(el => {
  if(!uniqueArr.includes(el)){
    uniqueArr.push(el);
  }
})
console.log(uniqueArr); [1, 2, 3, 4]
반응형
LIST

'학습 TIL > Javascript' 카테고리의 다른 글

for...in vs for...of  (0) 2021.08.01
NaN  (0) 2021.07.21
문자열  (0) 2021.07.21
Template string(template literal)  (0) 2021.07.21
조건문  (0) 2021.07.20

BELATED ARTICLES

more