JavaScript: convertire una NodeList in un array

Nella terminologia del DOM una NodeList è una collezione di elementi simile ad un array ma priva dei metodi propri degli array JavaScript. Possiamo convertire questa struttura in un array con relativa facilità.

Si tratta in pratica di popolare un array con gli oggetti elemento della NodeList:


var makeArray = function( list ) {
	if( !list instanceof NodeList ) {
		return;
	}
	var arr = [];
	
	for( var i = 0; i < list.length; ++i ) {
		var node = list[i];
		arr.push( node );
	}
	
	return arr;
};

Esempio:


var elements = document.querySelectorAll( "#list li" );
var elemArr = makeArray( elements );
var revArr = elemArr.reverse();

Torna su