[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 |