[Other] 유사 배열

Byron·2021년 11월 25일
0

11월 24일 수요일 면접에서 완벽하게 답변하지 못했던 두 가지중에 하나인 유사배열에 대해 적어보고자 한다.

제로초의 블로그를 참조하여
let yoosaArray = { 0: 'a', 1: 'b', 2: 'c', length: 3 }; 라는 객체를 설정해 보았다.
이것이 바로 유사배열의 예이다.

유사배열의 특징은:

  1. 키가 숫자이며,
  2. length라는 속성을 가지고 있는 것이다.
  3. 배열의 기본 매서드쓸 수 없다.
    []로 감싸져있지만 배열이 아닌 친구들을 유사배열이라고 부른다고 한다.
    위와 같이 key가 숫자로 되어있고 length프로퍼티를 가지고 있으면 유사배열이라고 할 수 있다.

유사배열에서 배열 메서드 쓰기

Array.prototype.forEach.call(nodes, function(el) { console.log(el); });
[].forEach.call(els, function(el) { console.log(el); });
배열 프로토타입에서 불러와 call이나 apply를 사용하면 map이나 filter, reduce 등의 다른 배열 메서드도 사용 가능하다고 한다.
Array.from(nodes).forEach(function(el) { console.log(el) });
최신 자바스크립트에서는 Array.from으로 더 간단하게 할 수 있다고 한다.

유사배열인지 아닌지 확인할때는 Array.isArray를 사용하도록 하자.

다음번에는 더 좋은 답변을 할 수 있겠다.

Reference

https://www.zerocho.com/category/JavaScript/post/5af6f9e707d77a001bb579d2

profile
step by step

0개의 댓글