본문 바로가기
TIL

[javascript] Array.from()

by meno1011 2023. 2. 28.
728x90

Array.from()

- 유사 배열 객체나 반복 가능한 객체를 얕게 복사해 새로운 Array 객체를 만듭니다.

  * 유사 배열은 키,값을 가지고 length를 가지는 객체를 말한다

 

문자열 배열로 만들기

const foo = "foo";
console.log(Array.from(foo)); // ['f', 'o', 'o']

유사 배열 객체로 배열 만들기

// length를 가지게 해서 유사 배열로 만든다.
const obj = {
  0: "zero",
  1: "number",
  2: "string",
  3: "Learn Javascript",
  length: 4,
};
console.log(obj.length); // 4

console.log(Array.from(obj)); // [ 'zero', 'number', 'string', 'Learn Javascript' ]

// 위 obj에서 length를 length : 3으로 할 경우 
// console.log(Array.from(obj)); 의 결과는 [ 'zero', 'number', 'string'] 로 나오며
// 키값 0이 없을 경우 첫번째 배열의 값은 undefined가 나오게 된다.

배열 형태를 가진 객체(arguments)로 배열 만들기

function f(...arguments) {
  return Array.from(arguments);
}

console.log(f(1, 2, 3)); // [1, 2, 3]

이렇게 유사 배열이나 객체 형태의 유사 배열을 사용해서 배열을 만들수 있다.