پێشەکی

لە جافاسکریپتدا، ئارەی (Array) یەکێکە لە گرنگترین پێکهاتەکانی داتا. بۆ ئەوەی بتوانین بە شێوەیەکی پیشەیی کار لەگەڵ لیستەکان بکەین، پێویستە شارەزایی تەواومان لە بەکارهێنانی کردارە بەرزەکان (Higher-Order Functions) هەبێت.

تێبینی: ئەم کردارانە (map, filter, reduce) ئارەیەکە سەرەکییەکە ناگۆڕن، بەڵکو ئارەیەیەکی نوێ دروست دەکەن. ئەمە بە 'Immutable' ناسراوە و یارمەتیدەرە بۆ کەمکردنەوەی هەڵە لە کۆدەکەتدا.

بەکارھێنانی کرداری map

کرداری map بۆ ئەوە بەکاردێت کە هەر توخمێکی ناو ئارەیەکە وەربگریت و گۆڕانکاری بەسەردا بهێنیت و ئارەیەیەکی نوێی لێ دروست بکەیت. ئەمە زۆر بەکاردێت کاتێک دەتەوێت داتایەک لە شێوازێکەوە بۆ شێوازێکی تر بگۆڕیت.

const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // ئەنجام: [2, 4, 6, 8]

لە نموونەکەی سەرەوەدا، map بەسەر هەموو ژمارەکاندا دەسوڕێتەوە و هەر یەکێکیان دوو ئەوەندە دەکات. هەڵەی باو ئەوەیە کە بەکارهێنەران لەبری map، loop بەکاردەهێنن کە کۆدەکە درێژتر و ئاڵۆزتر دەکات.

بەکارھێنانی کرداری filter

کاتێک دەتەوێت تەنها ئەو توخمانە دەستنیشان بکەیت کە مەرجێکی تایبەت جێبەجێ دەکەن، filter باشترین بژاردەیە.

const ages = [12, 18, 25, 10, 30];
const adults = ages.filter(age => age >= 18);
console.log(adults); // ئەنجام: [18, 25, 30]

ئەم کردارە تەنها ئەو توخمانە دەگەڕێنێتەوە کە مەرجەکە بۆیان 'true' دەبێت. تێبینی بکە کە ئەگەر هیچ توخمێک مەرجەکە جێبەجێ نەکات، ئەوا ئارەیەیەکی بەتاڵ [] دەگەڕێنێتەوە.

بەکارھێنانی کرداری reduce

کرداری reduce زۆر بەهێزە بۆ ئەوەی هەموو توخمەکانی ناو ئارەیەکە کۆ بکەیتەوە و بیکەیت بە یەک بەها (وەک کۆکردنەوەی ژمارەکان یان دروستکردنی ئۆبجێکتێک لە لیستێک).

const prices = [10, 20, 30];
const total = prices.reduce((acc, curr) => acc + curr, 0);
console.log(total); // ئەنجام: 60

لێرەدا acc (accumulator) ئەو بەهایەیە کە لە هەنگاوەکانی پێشوو کۆبووەتەوە، و curr (current) ئەو توخمەی ئێستایە کە لەسەری دەوەستین. ژمارەی 0 لە کۆتاییدا بەهای سەرەتایی acc دیاری دەکات.

ئاگاداری: لە کرداری reduce دا، هەمیشە بەهای سەرەتایی (initial value) دیاری بکە. ئەگەر دیاری نەکەیت، جافاسکریپت یەکەم توخمی ئارەیەکە بەکاردەهێنێت وەک بەهای سەرەتایی، کە ڕەنگە ببێتە هۆی هەڵە لە هەندێک حاڵەتی تایبەتدا.

بەراوردکردنی کردارەکان

  • map: بۆ گۆڕینی داتا بەکاردێت (گۆڕانکاری لە هەموو توخمەکان).
  • filter: بۆ هەڵبژاردنی داتا بەکاردێت (لابردنی ئەوانەی مەرجەکە نین).
  • reduce: بۆ کۆکردنەوەی داتا بەکاردێت (گەیشتن بە ئەنجامێکی کۆتایی).

ڕاهێنانی پراکتیکی

ئێستا کاتی ئەوەیە خۆت تاقی بکەیتەوە! ئارەیەیەکی ناوی خوێندکارانت هەیە: ['Ali', 'Sara', 'Rezan', 'Aria']. هەوڵ بدە بە بەکارهێنانی کرداری filter تەنها ئەو ناوانە دەستنیشان بکە کە لە 4 پیت زیاترن.