1. Set 메소드
- Set 객체로 중복 데이터 제거하기
- 문법 : new Set(데이터)
let arr = [1,1,2,2,2,3,3]
let newArr = [...new Set(arr)]
console.log(newArr) // [1, 2, 3]
2. filter, indexOf 메소드
- indexOf 메소드는 조회할 값이 처음으로 등장한 인덱스를 리턴
let arr = [1,1,2,2,2,3,3]
let newArr = arr.filter((el, idx) => arr.indexOf(el) === idx)
console.log (newArr) // [1, 2, 3]
3. reduce, includes 메소드
- reduce 메소드로 각 엘리먼트를 조회하되, 초기값은 빈 배열로 입력하기
- includes 메소드로 배열에 해당 엘리먼트 포함 여부를 확인하기
- 포함 되어있지 않다면 해당 엘리먼트 추가하고, 포함 되어있으면 추가하지 않기
let arr = [1,1,2,2,2,3,3]
// 삼항연산자
let newArr = arr.reduce((acc, cur) => {
return acc.includes(cur) ? acc : [...acc, cur]
}, []);
// if문
let newArr = arr.reduce((acc, cur) => {
if (acc.includes(cur)) {
return acc
} else {
return [...acc, cur]
}
}, []);
console.log(newArr) // [1, 2, 3]
4. forEach, includes 메소드
- 중복이 없는 엘리먼트를 담을 빈 배열 선언 (newArr)
- forEach 메소드로 각 엘리먼트를 순회하며, 해당 엘리먼트 포함 여부를 includes로 확인
- newArr 배열에 포함되어 있지 않다면, 해당 엘리먼트를 push로 추가하기
let arr = [1,1,2,2,2,3,3]
let newArr = []
arr.forEach((el)=> {
if (!newArr.includes(el)) newArr.push(el)
})
console.log(newArr) // [1, 2, 3]
반응형
'프로그래밍 > 알고리즘, 프로그래밍 언어' 카테고리의 다른 글
[JavaScript] 십진수를 이진수로 변환하기 (0) | 2022.01.12 |
---|---|
[JavaScript] arguments object (객체) (0) | 2021.12.08 |
[JavaScript] 날짜 입력 시 요일을 리턴하는 함수 만들기 (0) | 2021.12.03 |
비동기 데이터 처리 순서 : 콜백함수 vs Promise (0) | 2021.11.11 |
async을 사용했지만 콜백함수의 await에서 에러가 나는 경우 (0) | 2021.11.10 |
댓글