How can I convert the NodeList from querySelectorAll() to an array?
Answers:
You can convert a NodeList obtained from
querySelectorAll()to an array in several ways. Here are a few common methods:1. Using Array.from()
Array.from()is a built-in method that creates a new array from an array-like or iterable object like a NodeList.const nodeList = document.querySelectorAll('selector'); const array = Array.from(nodeList);2. Using the Spread Operator
You can also use the spread operator (
...) to expand the NodeList into an array.const nodeList = document.querySelectorAll('selector'); const array = [...nodeList];3. Using
Array.prototype.slice()You can use
Array.prototype.slice.call()to convert the NodeList to an array.const nodeList = document.querySelectorAll('selector'); const array = Array.prototype.slice.call(nodeList);4. Using
forEachIf you prefer a more manual approach, you can iterate through the NodeList and push the elements into a new array.
const nodeList = document.querySelectorAll('selector'); const array = []; nodeList.forEach(node => array.push(node));Example Usage
Suppose you want to convert all
<div>elements on a page to an array:const divsNodeList = document.querySelectorAll('div'); const divsArray = Array.from(divsNodeList); // or use any of the methods above console.log(divsArray); // Now you can use divsArray as a regular arrayYou can choose any of the methods above based on your preference or use case. The most modern and concise approaches are
Array.from()and the spread operator.