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 функцияси ёрдамида ҳар бир абзацнинг охирига унинг матнига ҳайқирқоқ белгисини қўшинг.