반응형
자바스크립트 배열 유니크 요소만 남기기 , 중복 제거 하기
주로 3가지 방법이 많이 쓰인다.
Set
const arr = [1,2,3,4,5,5,6,6,7]
const result = [...new Set(arr)]
//result [1, 2, 3, 4, 5, 6, 7]
filter / indexOf
const arr = [1,2,3,4,5,5,6,6,7]
const result = arr.filter((num,index)=>{
return arr.indexOf(num) === index
})
//result [1, 2, 3, 4, 5, 6, 7]
caching / frequency map
const arr = [1,2,3,4,5,5,6,6,7]
const cache = {}
const result = []
for(let num of arr){
if(!cache[num]){
result.push(num)
}
cache[num] = true
}
//result [1, 2, 3, 4, 5, 6, 7]
팁
1. 숫자나 문자열 같은 원시값 배열의 경우 Set을 사용
2. 오브젝트 배열에서 특정 키로 비교하는 경우 3번째 caching / frequency map를 사용
3. 그외에는 2번째 방법을 사용 하자
반응형
'개발관련 > 자바스크립트 팁' 카테고리의 다른 글
자바스크립트의 실행 컨텍스트, Lexical Environment 및 관련 컨셉 이해하기 (0) | 2023.05.18 |
---|---|
자바스크립트의 반복문 종류 및 사용법: for, for...in, for...of, forEach (0) | 2023.04.26 |
error TS2322: Type 'Timeout' is not assignable to type 'number' 해결 방법 (0) | 2023.03.15 |
yarn pnp Zero-Installs란? (0) | 2022.09.15 |
yarn pnp vscode typescript 적용하는 방법 (0) | 2022.09.15 |