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 ֆունկցիայի օգնությամբ յուրաքանչյուր պարբերության վերջում ավելացրեք նրա տեքստին բացականչական նշան: