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
반응형
'frontend > JavaScript' 카테고리의 다른 글
[JavaScript] 웹표준 자바스크립트 ECMAScript(es5, es6) (0) | 2024.01.08 |
---|---|
[JavaScript] 배열 합집합, 교집합 반환하기 (0) | 2023.12.30 |
[JavaScript] 특정 위치 문자 찾기 charAt() (1) | 2023.12.27 |
[JavaScript] toUpperCase(), toLowerCase() 대문자, 소문자 변경 (0) | 2023.12.27 |
[JavaScript] substring() 문자열 앞, 뒤 자르기 (0) | 2023.12.27 |