Start Using forEach() and map() with DOM Selections

And avoid this easy mistake.

Dave Gray
Dave Gray
Jun 16 · 3 min read
Photo by Filip Mroz on Unsplash

Trying to break away from the for loop

let x = document.getElementsByTagName('section');let newArray = x.map(el => el.textContent = 'new content');
x.forEach(el => el.textContent = 'new content');
Array methods will not work with an HTMLCollection.

So what’s the problem?

Node Lists do have a forEach() method available, but not map().

Spread Syntax to the rescue!

let spreadArray = [...x];
Use the spread operator to easily make a new array from an HTMLCollection or Node List.

Conclusion


JavaScript In Plain English

New articles every day.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store