Predanie callback funkcie pre prácu s DOM v JavaScripte

Predpokladajme, že máme skupinu DOM elementov:

html<p class="elem">1</p>
<p class="elem">2</p>
<p class="elem">3</p>
<p class="elem">4</p>
<p class="elem">5</p>

Vytvorme funkciu forEach, ktorá ako prvý parameter bude prijímať selektor skupiny elementov a ako druhý parameter - callback funkciu, ktorá sa aplikuje jeden po druhom na každý nájdený element:

javascriptforEach('.elem', function() {
  // funkcia sa aplikuje na každý element
});

Nech sa elementy, ktoré spĺňajú selektor, dostanú jeden po druhom ako prvý parameter callback funkcie:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // vypíše postupne všetky nájdené elementy
});

Pomocou našej funkcie nájdime všetky elementy s triedou elem a pre každý nájdený element aplikujme callback, ktorý umocní na druhú text každého elementu:

javascriptforEach('.elem', function(elem) {
  elem.textContent = elem.textContent ** 2;
});

Teraz napíšme implementáciu našej zamýšľanej funkcie forEach:

javascriptfunction forEach(selector, func) {
  let elems = document.querySelectorAll(selector);
  
  for (let elem of elems) {
    func(elem);
  }
}
Задание 1

Sú dané odseky. Pomocou nami vytvorenej funkcie forEach pridajte pre každý odsek na koniec jeho textu výkričník.