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, ES2024) | 웹 표준 (0) | 2024.01.08 |
---|---|
[JavaScript] 배열 합집합, 교집합 반환 / Set, filter, include (0) | 2023.12.30 |
[JavaScript] 특정 위치 문자 찾기 / charAt() (1) | 2023.12.27 |
[JavaScript] 대문자, 소문자 변경 / toUpperCase(), toLowerCase() (0) | 2023.12.27 |
[JavaScript] 문자열 앞, 뒤 자르기 / substring() (0) | 2023.12.27 |