Frontend/Javascript

javascript - Array.from()

2-doooo-2 2023. 12. 26. 23:34
728x90
반응형

Array.from() 사용하기 

Array.from() 메서드는 유사 배열 객체(arrat-like object)나 반복 가능한 객체(literable object)를 얕게 복사해 새로운 Array 객체를 만든다. 

 

array.from(object, mapFunction, thisValue)

 

object - 배열로 변환할 객체
mapFunction - 배열의 모든 요소에 실행할 함수
thisValue - 함수 내부에서 사용될 this에 대한 값

 

1.

 

2.

2번의 예시는 첫번째 인자로 배열을 두번째 인자로 각각의 배열에 적용할 함수를 건내주고 있다. 

 

Array.from({length: 20}, () => Array(10).fill(0) );

 

위와 같이 사용하면 

 

20*10의 2차원 배열을 리턴한다. 

 

※ 왜 {length:20} 은 배열일까?
자바스크립트에서 배열은 객체이다. 

 

객체 -> 배열은 성립하지 않는다. 

객체의 __proto__  Object.prototype이고
배열의 __proto__  Array.prototype 이다. 

배열은 사실 length 라는 속성을 가진 객체이고, 객체에 length속성을 넣어주게 되면 마치 배열처럼 인식되는 것이다. 하지만 역시나 length 속성을 추가한 object 가 배열과 같다는 이야기는 아니다. Array 가 프로토타입이 아니기 때문이다.

 

 

 

참고자료

728x90
반응형