최근에 HTML 문서에서 여러 노드의 값을 추출해야했습니다. querySelectorAll을 사용하여 노드를 얻었습니다. querySelectorAll은 조건을 충족하는 노드의 목록을 반환합니다. 내가 전에 arr.map 사용했다, 그래서 (작동하지 않았다)이처럼하려고 노력 :왜 querySelectorAll 결과에 맵을 사용할 수 없습니까?
var elems = document.querySelectorAll('select option:checked');
values = elems.map(function(obj) {return obj.value});
내가 MDN에서 문서를 읽을 때, 나는이 대신 같은 것을 사용했다는 것을 보았다 :
var elems = document.querySelectorAll('select option:checked');
var values = Array.prototype.map.call(elems, function(obj) {
return obj.value;
});
내 질문은 내가 무엇을 querySelectorAll에서 얻을 것은 배열의 경우 내가 다른 배열에 대한 것처럼, 내가 왜, 첫 번째 표현식을 사용할 수 없다?
'querySelectorAll'은 배열을 반환하지 않고'array-like-object'를 반환합니다. 문서를 참조하는 경우 완전히 읽습니다. – Rayon
[___'NodeList'가 배열이 아닌 이유는 무엇입니까? ___] (https://developer.mozilla.org/en-US/docs/Web/API/NodeList#Why_is_NodeList_not_an_Array) – Rayon