پێشەکی
لە جافاسکریپتدا، ئارەی (Array) یەکێکە لە گرنگترین پێکهاتەکانی داتا. بۆ ئەوەی بتوانین بە شێوەیەکی پیشەیی کار لەگەڵ لیستەکان بکەین، پێویستە شارەزایی تەواومان لە بەکارهێنانی کردارە بەرزەکان (Higher-Order Functions) هەبێت.
بەکارھێنانی کرداری 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 دیاری دەکات.
بەراوردکردنی کردارەکان
- map: بۆ گۆڕینی داتا بەکاردێت (گۆڕانکاری لە هەموو توخمەکان).
- filter: بۆ هەڵبژاردنی داتا بەکاردێت (لابردنی ئەوانەی مەرجەکە نین).
- reduce: بۆ کۆکردنەوەی داتا بەکاردێت (گەیشتن بە ئەنجامێکی کۆتایی).
ڕاهێنانی پراکتیکی
ئێستا کاتی ئەوەیە خۆت تاقی بکەیتەوە! ئارەیەیەکی ناوی خوێندکارانت هەیە: ['Ali', 'Sara', 'Rezan', 'Aria']. هەوڵ بدە بە بەکارهێنانی کرداری filter تەنها ئەو ناوانە دەستنیشان بکە کە لە 4 پیت زیاترن.