Możesz użyć Array.from
do konwersji kolekcji na tablicę, co jest o wiele czystsze niż Array.prototype.forEach.call
:
Array.from(document.getElementsByClassName("myclass")).forEach(
function(element, index, array) {
// do stuff
}
);
W starszych przeglądarkach, które nie obsługują Array.from
, musisz użyć czegoś takiego jak Babel.
ES6 dodaje również tę składnię:
[...document.getElementsByClassName("myclass")].forEach(
(element, index, array) => {
// do stuff
}
);
Restrukturyzacja spoczynkowa ...
działa na wszystkich obiektach podobnych do tablicy, nie tylko na samych tablicach, a następnie do tworzenia tablicy na podstawie wartości używana jest stara, dobra składnia tablicy.
Podczas gdy funkcja alternatywna querySelectorAll
(która sprawia, że jest getElementsByClassName
przestarzała) zwraca kolekcję, która ma forEach
natywnie, innych metod takich jak map
lub filter
brak, więc ta składnia jest nadal przydatna:
[...document.querySelectorAll(".myclass")].map(
(element, index, array) => {
// do stuff
}
);
[...document.querySelectorAll(".myclass")].map(element => element.innerHTML);
[].forEach.call(elsArray, function () {...})
.