320x100
320x100
reduce 메소드 사용
let names = ['Mike', 'John', 'Bob', 'Jane', 'Bob', 'John', 'Lee', 'Mason'] ;
let single = names.reduce(( a, b ) => {
if( a.indexOf(b) < 0 ) a.push(b);
return a;
}, []);
console.log( single );
// [ 'Mike', 'John', 'Bob', 'Jane', 'Lee', 'Mason' ]
: names 배열에 대해 reduce 실행
: reduce에서 반환할 초기 값을 빈 배열로 선언
: a (누적 연산하여 반환되는 값), b (처리할 현재 요소)를 선언
: a에 값을 누적하는데 a에 존재하지 않는 값 (indexOf에서 -1이 반환 되는 값)을 a에 누적
filter 메소드 사용
let names2 = ['Mike', 'John', 'Bob', 'Jane', 'Bob', 'John', 'Lee', 'Mason'] ;
let single2 = names2.filter( (item, idx, array) => {
return array.indexOf( item ) === idx;
});
console.log( single2 );
// [ 'Mike', 'John', 'Bob', 'Jane', 'Lee', 'Mason' ]
: names2 배열에 대해 filter 실행
: names의 전체 값을 기준으로 indexOf에서 반환되는 인덱스 값이 현재 인덱스와 같은 경우 누적
new Set() 사용
let names3 = ['Mike', 'John', 'Bob', 'Jane', 'Bob', 'John', 'Lee', 'Mason'] ;
let single3 = [...new Set(names3)];
console.log( single3 ) ;
// [ 'Mike', 'John', 'Bob', 'Jane', 'Lee', 'Mason' ]
: 가장 간단한 방법
: set은 중복 값을 허용하지 않는데, 이것을 스프레더로 원소 값을 되돌리면 끝
Refference
300x250
728x90
'Programming > JavaScript' 카테고리의 다른 글
자바스크립트 배열의 요소 삭제하기 (0) | 2022.04.19 |
---|---|
자바스크립트 reduce 함수 총 정리 (0) | 2022.04.19 |
바닐라 자바스크립트란? (0) | 2022.04.04 |
자바스크립트 - 구조 분해 할당 (0) | 2022.04.04 |
모던 자바스크립트 (자료구조와 자료형) 3-9. JSON과 메서드 (0) | 2022.04.03 |