DOM darbui su JavaScript skirto atgalinio iškvietimo perdavimas

Tarkime, kad turime tam tikrą DOM elementų grupę:

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>

Sukurkime funkciją forEach, kuri pirmu parametru priims elementų grupės selektorių, o antru parametru - atgalinio iškvietimo funkciją, kuri bus paeiliui taikoma kiekvienam iš rastų elementų:

javascriptforEach('.elem', function() {
  // funkcija bus taikoma kiekvienam elementui
});

Tegul elementai, atitinkantys selektorių, paeiliui pateka į pirmą atgalinio iškvietimo parametrą:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // išves paeiliui rastus elementus
});

Panaudokime mūsų funkciją, kad rastume visus elementus su klase elem ir kiekvienam rastam elementui pritaikykime atgalinį iškvietimą, kuris pakels kiekvieno elemento tekstą kvadratu:

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

Dabar parašykime mūsų sumanytos funkcijos forEach realizaciją:

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

Duoti pastraipos. Naudodami mūsų sukurtą funkciją forEach kiekvienai pastraipai pridėkite pabaigoje jos teksto šauktuką.