728x90
Set
숫자/문자열
const values = [3, 1, 3, 5, 2, 4, 4, 4];
const uniqueValues = [...new Set(values)]; // [3, 1, 5, 2, 4]
map
const list = [3, 1, 3, 5, 2, 4, 4, 4];
const result = [...new Map(list.map(item => [item, item])).values()];
console.log(result); // [3, 1, 5, 2, 4]
reduce
const list = [3, 1, 3, 5, 2, 4, 4, 4];
const result = list.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(result); // [3, 1, 5, 2, 4]
filter
const list = [3, 1, 3, 5, 2, 4, 4, 4];
const result = list.filter((value, index, self) => self.indexOf(value) === index);
console.log(result); // [3, 1, 5, 2, 4]
마무리
- filter는 코드가 간결하고 Set, reduce이 성능상 효율이 높다.
728x90
'WEB' 카테고리의 다른 글
CSS 스타일 제거하기 :hover 효과 삭제 방법 (0) | 2024.01.02 |
---|---|
[JavaScript] 배열 합집합, 교집합 반환 / Set, filter, include (0) | 2023.12.30 |
오픈소스 저작권: MIT, ISC, Apache License 등 주요 라이선스 완벽 정리 (1) | 2023.12.30 |
[JavaScript] 특정 위치 문자 찾기 / charAt() (1) | 2023.12.27 |
[JavaScript] 대문자, 소문자 변경 / toUpperCase(), toLowerCase() (0) | 2023.12.27 |