Прослеђивање колбек функције за рад са DOM-ом у JavaScript-у

Нека имамо одређену групу DOM елемената:

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>

Направимо функцију forEach која ће као први параметар примати селектор групе елемената, а као други параметар - функцију-колбек, која ће се применити једна по једна на сваки од пронађених елемената:

javascriptforEach('.elem', function() {
  // функција ће се применити на сваки елемент
});

Нека елементи који одговарају селектору, редом улазе у први параметар колбек функције:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // исписаће редом пронађене елементе
});

Хајде да помоћу наше функције пронађемо све елементе са класом elem и за сваки пронађени елемент применимо колбек, који ће квадрирати текст сваког елемента:

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

Хајде сада да напишемо имплементацију функције forEach коју смо замислили:

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

Дати су пасуси. Помоћу креиране наше функције forEach за сваки пасус додајте на крај његовог текста узвичник.