Nyní, když většina prohlížečů implementovala querySelectorAll, nativní selectorEngine, mnoho vývojářů závislých na frameworku se při práci s výsledkem volání QSA surově probouzí: objekt NodeList. NodeLists jsou podobné poli, ale neobsahují mnoho metod poskytovaných polem, jako je forEach
, map
, filter
, atd. JavaScript však poskytuje velmi jednoduchý způsob převodu NodeLists na Arrays:
var nodesArray = Array.prototype.slice.call(document.querySelectorAll("div"));
Výsledkem výše uvedeného kódu je skutečný objekt Array obsahující všechny uzly vrácené QSA. Pomocí této alternativy můžete dokonce zkrátit kód:
var nodesArray = [].slice.call(document.querySelectorAll("div"));
Oba úryvky vám poskytnou pole, které můžete opakovat a dělat všechny ty další úžasné věci s polem!