دا نه یوازې د پراختیا کونکي لپاره اړین دي چې دندې بشپړ کړي ، بلکه دا هم اړینه ده چې دندې په خورا مؤثره توګه ترسره کړي. نن ورځ په جاواسکریپټ کې ډیری کتابتونونه شتون لري چې د پراختیا کونکو لپاره د متغیرونو سره کار کول اسانه کوي. موږ به په دې ټیوټوریل کې زده کړو چې څنګه د لوداش کتابتون ډیری عام دندې وکاروو.
که تاسو تر اوسه د لوداش هڅه نه ده کړې، اوس وخت دی. لوډاش د جاواسکریپټ معاصر یوټیلټي کڅوړه ده چې د صفونو، انټیجرونو، شیانو، متنونو، او نورو ډیټا ډولونو سره کار کول اسانه کوي.
دا به تاسو سره د مختلف ډوله شیانو په معامله کې مرسته وکړي او د عمومي میتودونو کوډ کولو اړتیا له مینځه وړلو سره به ستاسو وخت خوندي کړي. ستاسو کوډ به د لږو لینونو سره پاک وي او په ټولو براوزرونو کې به کار وکړي. که تاسو دمخه دا نه کاروئ، نو تاسو باید په دقت سره په پام کې ونیسئ.
د لوداش نه منل زموږ د جاواسکریپټ کوډبیسونو لپاره لوی زیان دی. دا د ګډو ننګونو لپاره چې موږ یې په کار کې لرو د بګ څخه پاک او په زړه پوري حل دی ، او د دې کارول به یوازې زموږ کوډ د لوستلو وړ او اداره کولو وړ کړي.
راځئ چې د لوداش ځینې نور مشهور (یا نه!) افعال وڅیړو او معلومه کړو چې دا کتابتون څومره ګټور او ښکلی دی.
1. _.sortedUniq
ټول نقل شوي ارزښتونه به د دې سره بیرته نه راځي. ځکه چې دا یوازې د ترتیب شوي صفونو لپاره دی، دا په عمده توګه د سرعت دلیلونو لپاره کارول کیږي. دا یوازې ګټور دی که تاسو د لوی صف سره معامله کوئ. که تاسو غواړئ سرعت ښه کړئ، خپل صف ترتیب کړئ او هغه میتودونه وکاروئ چې د ترتیب شوي صفونو سره ښه کار کوي.
لوداش یو شمیر نورې دندې هم لري چې دې ته ورته دي. تاسو کولی شئ په .sortedIndex، .sortedIndexBy، .sortedIndexOf، .sortedLastIndex، .sortedLastIndexBy، .sortedLastIndexBy، .sortedUniq، .sortedUniqBy، .sortedUniqBy، .sortedUniqBy، .sortedUniqBy، .sortedUniqBy.
2. _. کمول
_.reduce د فلټر فعالیت ته ورته دی. یوازینی توپیر دا دی چې تاسو د بیرته راستنیدونکي اعتراض بڼه غوره کولو اختیار لرئ. دا عادي خبره ده، که تاسو نه پوهیږئ هغه څه چې زه یې وایم؛ د دې لپاره یو مثال شتون لري.
په اصل کې، موږ یو نوی توکي بیرته راګرځوو چې کاروونکي پکې د عمر له مخې طبقه بندي شوي، مګر یوازې د هغو کسانو لپاره چې عمر یې له 18 څخه تر 59 کلونو پورې وي. دا د Lodash مرستندویه فعالیت یو له ترټولو عام کارول کیږي. دا په ES6 کې هم شامل دی. زه غواړم دوه عام غلطۍ هم په ګوته کړم: په یاد ولرئ چې د فنکشن په پایله کې پایله بیرته راګرځئ، او د دریم پیرامیټر په توګه د پایلې لپاره ډیفالټ ارزښت وړاندې کړئ (دلته).
3. _.ترلاسه او ._سیټ
د دې لپاره، زه به تاسو ته د دوو دندو په ښودلو سره یو څه چال چلوم چې نږدې ورته کار ترسره کوي. _get د یو څیز څخه د ملکیت ارزښت بیرته راګرځوي، او _.set، ښه، تاسو اټکل کړی، د ارزښت سره ملکیت ترتیب کړئ. هیڅ ځانګړی ندی، پرته له دې چې تاسو کولی شئ د هغې لارې له لارې ملکیت ته لاسرسی ومومئ.
راځئ چې یو مثال وګورو.
که د _.set زنګ وهلو پرمهال لاره شتون ونلري، دا به تولید شي. دلته به نور نه وي "د ملکیت 'توکي' د نه تعریف شوي" غلطیو تنظیم نشي. که لاره شتون ونلري، _.get به د خطا پرځای نا تعریف شوي بیرته راشي. که چیرې لاره نامعلوم ته حل کړي، تاسو ممکن یو ډیفالټ ارزښت (دریم پیرامیټر) هم وړاندې کړئ.
4. _. موندل
د یو واحد څیز موندلو لپاره د سرې له لارې د لوپ کولو پرځای، موږ ممکن _.find وکاروو. دا ښه دی، مګر دا یوازینی شی ندی چې موندلی شي. د کوډ د یوې کرښې سره، تاسو ممکن د ډیری ملکیتونو په کارولو سره یو شی هم ومومئ. ویې ګوره!
5. _.کیلي
زما یو د خوښې وړ دی _.keyBy. دا خورا ګټور دی کله چې د یو ځانګړي خاصیت سره د اعتراض ترلاسه کولو هڅه وکړئ. فرض کړئ چې موږ د بلاګ 100 ننوتنې لرو او غواړو چې د "34abc" ID سره یو ترلاسه کړو. موږ به دا څنګه وکړو؟ راځئ وګورو چې څه کیږي! دا طریقه کولی شي تاسو سره د اعتراض راټولولو تنظیم کولو کې مرسته وکړي که چیرې سرور دا د سرې په توګه چمتو کړي. یو فنکشن د دویم دلیل په توګه هم کارول کیدی شي.
6. د هر یو لپاره
دا طریقه به یو له بل سره د شیانو په لړۍ کې تکرار شي، تاسو ته اجازه درکوي هر هغه منطق چې تاسو یې غواړئ ترسره کړئ. په دې لومړۍ بېلګه کې، زه به د کاروونکي شیانو لیست لوپ کړم، د دوی لومړی او وروستي نومونه یوځای کړئ ترڅو د بشپړ نوم په نوم یو نوی ملکیت رامینځته کړي.
د دې هر یو دوه پیرامیټونه مني. هغه صف چې موږ یې لوپ کوو لومړی پیرامیټر دی. دوهم دلیل د تکرار فعالیت دی ، لومړی پیرامیټر د انفرادي توکي حواله او دوهم یې د تکرار اوسني شاخص دی.
7. _.نقشه
نقشه، لکه د هر یو لپاره، د ارزښتونو په لړۍ کې تکرار کیږي. له بلې خوا د نقشې فنکشن د تکرار فنکشن لخوا چمتو شوي ارزښتونو نوې لړۍ بیرته راګرځوي. موږ د کاروونکو ورته ټولګه کاروو لکه زموږ په هر مثال کې دلته. موږ ممکن _. نقشه وکاروو ترڅو یو نوی متغیر رامینځته کړو چې د ټولو کاروونکو بشپړ نومونو فلیټ شوي صف ولري.
8. _. توپیر
د توپیر فعالیت به د ارزښتونو نوې لړۍ رامینځته کړي چې د لومړي او دوهم صفونو ترمینځ توپیر لري. دا مهمه ده چې یادونه وکړو چې د دلیلونو ځایونه په پایلو اغیزه کوي.
9. _. ترلاسه کړئ
د _.get() فنکشن کولی شي موږ سره په یو شی کې د عنصر په موندلو کې مرسته وکړي. موږ کولی شو د بیرته راستنیدو لپاره د _.get() فنکشن لپاره ډیفالټ ارزښت وټاکو که چیرې یو عنصر په چمتو شوي لاره کې ونه موندل شي. د _.get() فنکشن درې پیرامیټرونه اخلي، چې لومړی یې هغه شی دی چې موږ یې غواړو یو عنصر ترلاسه کړو. لاره دویمه ده. دریم ارزښت هغه ډیفالټ ارزښت دی چې موږ غواړو بیرته راشئ که چیرې یو عنصر شتون ونلري.
10. _. موندل
د _find() فنکشن ممکن د _.get() میتود سره ورته وي. د _.find() فنکشن، لکه د _.get() میتود، درې پیرامیټونه مني. په هرصورت، د _.get() میتود برعکس، لومړی دلیل کیدای شي یو سري یا اعتراض وي. دوهم دلیل هغه فعالیت مشخص کوي چې په هر تکرار کې به ویل کیږي. دریمه برخه د راټولولو د پیل شاخص دی. ځکه چې _.find() فنکشن په ټولګه کې په هر عنصر باندې تکرار کیږي.
11. _. ګروپ له خوا
د فنکشن په پایله کې یو څیز جوړ کړئ (یا په تصادفي ډول غوره شوي ملکیت نوم) ، هر ارزښت د ورته کیلي سره د شیانو لړۍ وي.
12. _.سیټ
میتود _.set() د میتود معکوس دی _.get(). دا به په ورکړل شوي لاره کې د عنصر ارزښت بدل کړي. اعتراض یا صف لومړی پیرامیټر دی، لاره دویمه ده، او هغه ارزښت چې تاسو یې غواړئ دریم دی.
13. _. یوځای کول
دا د Object.assign سره ورته کار کوي، پرته له دې چې دا د اصلي جوړښت ته ژور تکراروي ترڅو ژور توکي د ځای په ځای کولو پرځای تازه کړي.
14. ._دبور
دا یو خورا ساده مثال دی. ټول "د ډایکریټیکل نښو سره یوځای کول" لیرې شوي. په دې توګه "é" په "e" کیږي. کله چې نړیوال کول او ځایی کول شتون ولري، نو دا د لټون دندو لپاره د متن ډیبور کول یو ښه عمل دی.
15
دا د لوداش یو له خورا اغیزمنو ستراتیژیو څخه دی. دا ممکن هم ستونزمن وي چې پوه شي چې دا څه کوي او کله چې تاسو باید وکاروئ. د _.debounce() میتود یو فنکشن راګرځوي. د _.debounce() میتود فعالیت به غوښتنه وځنډوي تر څو چې د فنکشن وروستی ځل غوښتنه شوې وه یو مشخص شمیر ملیسیکنډونه تیر شوي نه وي.
پایله
لوداش د جاواسکریپټ ژبې یو پیاوړی توسیع دی. د لږې هڅې سره، یو څوک کولی شي لنډ او اغیزمن کوډ جوړ کړي. لوداش هم په بشپړه توګه ماډلر دی. که څه هم د دې ځینې فعالیتونه په نهایت کې له مینځه وړل کیدی شي ، زه باور لرم چې دا به لاهم پراختیا کونکو ته ډیری ګټې چمتو کړي پداسې حال کې چې د JS ژبې تکامل هم پرمخ وړي.
زه امید لرم چې دا یو څو لوډش وړتیاوې تاسو سره مرسته وکړي چې وګورئ چې لوډاش څومره پیاوړی کیدی شي کله چې د صفونو، شیانو او راټولولو سره کار کوي. تاسو کولی شئ لیدنه وکړئ لاسوند د نورو انتخابونو ډیری پلټنه کول چې دا یې وړاندیز کوي.
یو ځواب ورکړئ ووځي