본문 바로가기

programming/javascript

자바스크립트 유사 배열을 배열로 바꾸기

Array.prototype.slice.apply(target) 방법을 이용하면 된다.

const target = document.body.getElementsByClassName('targetClassName');
target;

// HTMLCollection(10) [div.targetClassName, p.targetClassName, p.otherClassName.targetClassName, p.targetClassName, p.targetClassName, p.targetClassName, p.targetClassName, p.targetClassName, p.targetClassName, span.targetClassName]

Array.isArray(target);
// false

const targetArr = Array.prototype.slice.apply(target);
Array.isArray(targetArr);
// true

 

 

추가

다음과 같은 방법도 가능하다.

 

Array.prototype.forEach.call(elSelect.children, function(element) {
  console.log(element);
});

for (let opt of elSelect.children) {
  console.log(opt.value);
}