JavaScript - 배열(Array)을 Set로 변환

JavaScript에서 배열(Array) 객체를 Set 객체로 변환하는 방법을 소개합니다.

1. Set 생성자로 배열을 Set로 변환

Set의 생성자에 인자로 배열을 전달하면, 배열의 요소가 Set에 추가됩니다. 다음과 같이 배열을 Set로 변환할 수 있습니다. Set는 중복 객체를 저장하지 않기 때문에 배열의 2는 하나만 추가됩니다.

const arr = [1, 2, 3, 4, 5, 2]

const set = new Set(arr)

console.log(set);

Output:

Set(5) { 1, 2, 3, 4, 5 }

2. map()으로 배열을 Set로 변환

map()으로 배열의 요소를 Set에 저장하여 변환할 수 있습니다.

const arr = [1, 2, 3, 4, 5, 2]

const set = new Set()
arr.map(item => set.add(item));

console.log(set);

Output:

Set(5) { 1, 2, 3, 4, 5 }

만약 배열이 Object 객체를 갖고 있는 배열이라면 다음과 같이 map()으로 Object의 어떤 value를 Set로 변환할 수 있습니다.

const arr = [
  {name: 'John', age: 22},
  {name: 'Tom', age: 33},
  {name: 'Doe', age: 25},
]

const set = new Set();
arr.map(item => set.add(item.name));

console.log(set);

Output:

Set(3) { 'John', 'Tom', 'Doe' }

3. forEach()로 배열을 Set로 변환

map()과 같은 방식으로 forEach()를 사용하여 아래와 같이 Set로 변환할 수 있습니다.

const arr = [1, 2, 3, 4, 5, 2]

const set = new Set()
arr.forEach(function(item) {
  set.add(item);
});

console.log(set);

Output:

Set(5) { 1, 2, 3, 4, 5 }

만약 배열이 Object 객체를 갖고 있는 배열이라면 다음과 같은 방식으로 변환할 수 있습니다.

const arr = [
  {name: 'John', age: 22},
  {name: 'Tom', age: 33},
  {name: 'Doe', age: 25},
]

const set = new Set()
arr.forEach(item => set.add(item.name));

console.log(set);

Output:

Set(3) { 'John', 'Tom', 'Doe' }
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha