Array.from() : 유사 배열 객체 또는 반복 가능한 배열을 맵핑 함수를 사용해 새로운 배열로 반환하기

백돼지·2023년 3월 6일
0
post-thumbnail

Array.from()은 문자열, Node list 같은 유사 배열 객체 ( 유사 배열 객체(array-like object)는 인덱스(index)를 사용하여 각 요소에 접근할 수 있으며, length 속성을 가진 객체(Object)를 말한다.) 또는 반복 가능한 객체를 새로운 배열로 반환하는데 사용할 수 있다.

Array.from(변환하고자 하는 객체, (e, i, arr) => 맵핑 함수 )

map()에 대해 잘 알고 있으면 array.from()도 이해가 굉장히 쉬울 것 같다.
e는 변환하고자 하는 객체의 값, i는 그의 인덱스, arr는 그의 배열.

1. 문자열을 한 글자씩 배열로 반환하기


const str = "hello";
const arr = Array.from(str);
console.log(arr); // ["h", "e", "l", "l", "o"]


2. 맵핑 함수를 사용해 새로운 배열 반환하기


const arr = [1, 2, 3];
const newArr = Array.from(arr, (x) => x * 2);
console.log(newArr); // [2, 4, 6]

x는 맵핑함수의 첫번째 인자이므로 arr의 value를 뜻함., [1*2, 2*2, 3*2]를 뜻하는것이고 
newArr은 [2,4,6]이 된다!!

Array.from()은 얉은복사를 한다. 즉, 객체의 프로퍼티가 원시 데이터 형식이면 완전히 새로운 배열로 사용할 수 있지만, 객체 안에 객체가 있는 등 참조 자료형의 프로퍼티가 있다면 그 참조(reference)만 복사되기 때문에, 얉은 복사를 한다고 할 수 있다.

profile
용호의 코딩블로그 22.11 코딩공부 시작 23.2 부트캠프 입소

0개의 댓글