DOM bilan ishlash uchun JavaScript-da callback funksiyani uzatish

Faraz qilaylik, bizda DOM elementlarining ma'lum bir guruhi mavjud:

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>

Keling, forEach funksiyasini yarataylik, u birinchi parametr sifatida elementlar guruhining selektorini, ikkinchi parametr sifatida esa - callback funksiyani qabul qiladi, u topilgan har bir elementga navbatma-navbat qo'llaniladi:

javascriptforEach('.elem', function() {
  // funksiya har bir elementga qo'llaniladi
});

Faraz qilaylik, selektor ostiga tushgan elementlar navbat bilan callbackning birinchi parametriga tushsin:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // topilgan elementlarni navbat bilan chiqaradi
});

Keling, yaratgan funksiyamiz yordamida elem klasiga ega bo'lgan barcha elementlarni topaylik va har bir topilgan element uchun callbackni qo'llaylik, u har bir elementning matnini kvadratga ko'taradi:

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

Keling, endi rejalashtirgan forEach funksiyamizning realizatsiyasini yozamiz:

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

Abzatslar berilgan. Biz yaratgan forEach funksiyasi yordamida har bir abzatsning oxiriga uning matniga undov belgisini qo'shing.