[Javascript] 배열내에 중복된 값 제거

JungHoon Han·2022년 8월 26일
0

Javascript

목록 보기
4/5

자바스크립트에서 배열내에 중복된 값을 제거하려고한다.
예를들어 아래와같은 배열이 있다고 하면 중복된 숫자들을 제거하고
결과값으로 [1,2,3,4,5,6,7,8,9]를 출력하고 싶다면 어떻게 해야할까

const arr1 = [1,1,1,1,2,2,3,3,4,4,4,4,5,6,6,7,7,7,7,8,8,9,9];
const arr2 = [5,4,8,3,1,5,4,7,8,4,2,1,3,5,7,9,8,8,5,4,5,1,3,6,9,9,4];

Set이라는 자바스크립트 표준 내장객체를 사용하면 쉽게 제거할 수 있다.

const arr1 = [1,1,1,1,2,2,3,3,4,4,4,4,5,6,6,7,7,7,7,8,8,9,9];
const arr2 = [5,4,8,3,1,5,4,7,8,4,2,1,3,5,7,9,8,8,5,4,5,1,3,6,9,9,4];

const set1 = new Set(arr1);
// => Set(9) { 1, 2, 3, 4, 5, 6, 7, 8, 9 }

const set2 = new Set(arr2);
// => Set(9) { 5, 4, 8, 3, 1, 7, 2, 9, 6 }

const setArr1 = [...set1];
const setArr2 = [...set2];

우선 new Set()을 사용하면 중복된 값이 제거되고 콘솔로 찍어보면 객체로 출력된다.
해당 객체를 배열로 만들고 싶다면 [...객체명]으로 변환해주어야 한다.

console.log(setArr1);
// => [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(setArr2);
// => [5, 4, 8, 3, 1, 7, 2, 9, 6]
console.log(setArr2.sort());
// => [1, 2, 3, 4, 5, 6, 7, 8, 9]

콘솔로 찍어보면 위와같이 나오고 오름차순/내림차순 정렬을 하고싶으면 sort()함수를 사용하면 된다.

profile
Node.js 주니어 개발자

0개의 댓글