Post

객체를 배열로 변환하는 방법

1. 반복문을 이용해서 빈 배열에 속성을 push()하기

Object의 key값만 배열에 넣기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const obj = {
  a: "apple",
  b: "banana",
  c: "coconut"
};

const arr = [];

for (let element in obj) {
  arr.push(element);
}

console.log(arr);
// (3) ['a', 'b', 'c']

Object의 value값만 배열에 넣기

Object[key] = value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const obj = {
  a: "apple",
  b: "banana",
  c: "coconut"
};

const arr = [];

for (let element in obj) {
  arr.push(obj[element]);
}

console.log(arr);
// (3) ['a', 'b', 'c']

2. Object의 key 값만 배열로 변환하기

Object.keys(오브젝트이름)

mozila 문서 - Object.keys()

1
2
3
4
5
6
7
8
9
10
const obj = {
  a: "apple",
  b: "banana",
  c: "coconut"
};

const arr = Object.keys(obj);

console.log(arr);
// (3) ['a', 'b', 'c']

3. Object의 value 값만 배열로 변환하기

Object.values(오브젝트이름)

mozila 문서 - Object.values()

1
2
3
4
5
6
7
8
9
10
const obj = {
  a: "apple",
  b: "banana",
  c: "coconut"
};

const arr = Object.values(obj);

console.log(arr);
// (3) ['apple', 'banana', 'coconut']

4. Object의 key값과 value 값 모두 배열로 변환하기

Obejct.entires()

mozila 문서 - Object.entires()

[‘key값’,’value값’] 으로 반환

1
2
3
4
5
6
7
8
9
10
const obj = {
  a: "apple",
  b: "banana",
  c: "coconut"
};

const arr = Object.entries(obj);

console.log(arr);
// (3) [["a","apple"], ["b","banana"], ["c","coconut"]]

예제

Q. salaries의 객체 속성에 있는 모든 급여 합계를 구하기

1
2
3
4
5
let salaries = {
  John: 100,
  Pete: 300,
  Mary: 250
};

방법1

  1. Object.values(salaries)를 사용해서 급여만 배열로 변환
  2. 변환된 배열을 반복하며 급여 더하기 (forEach(), map())
1
2
3
4
5
6
// map()
let sum = 0;
Object.values(salaries).map((salary) => (sum += salary));

console.log(sum);
// 650
1
2
3
4
5
6
// forEach()
let sum = 0;
Object.values(salaries).forEach((salary) => (sum += salary));

console.log(sum);
// 650

방법2

  1. Object.values(salaries)를 사용해서 급여만 배열로 변환
  2. reduce()사용해서 모든 총합 구하기
1
2
3
4
5
6
// reduce()

const sum = Object.values(salaries).reduce((acc, cur) => acc + cur);

console.log(sum);
// 650
This post is licensed under CC BY 4.0 by the author.