배열(Array)처럼 보이지만, 데이터 속성 자체는 객체(Object)인 것을 유사 배열(Array like Object)라고 한다. 유사 배열은 배열이 아니므로 배열에서만 호출 가능한 method를 사용할 수 없다. (e.g. push/pop/join/map 등)
유사 배열과 배열의 공통점은 다음과 같다.
아래는 유사 배열의 예시이다.
const arr_like = {0: 'I', 1: 'am', 2: 'array-like', length: 3};
위 유사 배열은 값들이 배열처럼 [ ]에 담기지 않고 { }에 담기는 객체이다. 하지만 여러 값들이 한 곳에 담긴다는 점에서 배열과 유사하다.
Array.from()
을 사용한다.
Array.from({length: 5}, (value, index) => index);
// [0, 1, 2, 3, 4]
위 예시는 길이가 5인 유사 배열에서 map function을 실행, 각 index를 출력해 배열로 만든다.