לא רק שמפתח נדרש לבצע משימות, אלא גם לבצע משימות בצורה יעילה יותר. קיימות מספר ספריות זמינות כיום ב-JavaScript אשר מקלות על המפתחים את העבודה עם משתנים. נלמד כיצד להשתמש בפונקציות הנפוצות ביותר של ספריית Lodash במדריך זה.
אם עדיין לא ניסיתם את Lodash, זה הרגע. Lodash היא חבילת עזר עכשווית של JavaScript המפשטת את העבודה עם מערכים, מספרים שלמים, אובייקטים, טקסטים וסוגי נתונים אחרים.
זה יסייע לך להתמודד עם סוגים שונים של אובייקטים ויחסוך לך זמן על ידי ביטול הצורך בקוד שיטות גנריות. הקוד שלך יהיה נקי יותר עם פחות שורות ויתפקד בכל הדפדפנים. אם אתה עדיין לא משתמש בו, עליך לשקול זאת היטב.
אי אימוץ Lodash הוא הפסד עצום עבור בסיסי הקוד של JavaScript שלנו. זהו פתרון נטול באגים ואלגנטי לאתגרים נפוצים שיש לנו בעבודה, והשימוש בו רק יהפוך את הקוד שלנו לקריאה ולניהול יותר.
בואו נעמיק בכמה מהפונקציות היותר פופולריות (או לא!) של Lodash ונגלה עד כמה הספרייה הזו שימושית ויפה במיוחד.
1. _.sortedUniq
כל הערכים המשוכפלים לא יוחזרו עם זה. מכיוון שזה מיועד רק למערכים ממוינים, זה משמש בעיקר מסיבות מהירות. זה שימושי רק אם אתה מתמודד עם מערך גדול. אם ברצונך לשפר את המהירות, מיין את המערך שלך והשתמש בשיטות שפועלות טוב יותר עם מערכים ממוינים.
ל-Lodash יש מספר פונקציות אחרות הדומות לזה. אתה יכול להסתכל על .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy,Bysorted.
2. _.להפחית
_.reduce דומה לפונקציית סינון. ההבדל היחיד הוא שיש לך אפשרות לבחור את הצורה של האובייקט המוחזר. זה נורמלי, אם אתה לא מבין את מה שאני אומר; יש לזה דוגמה.
בעיקרו של דבר, אנו מחזירים אובייקט חדש המכיל משתמשים מסווגים לפי גיל, אך רק לבני 18 עד 59. פונקציית העזר של Lodash היא אחת מהשימושים הנפוצים ביותר. זה כלול גם ב-ES6. אני גם רוצה לציין שתי טעויות אופייניות: זכור להחזיר את התוצאה בסיום הפונקציה, ולספק את ערך ברירת המחדל של התוצאה כפרמטר השלישי (כאן).
3. _.get ו-._set
בשביל זה, אני אשמה אותך במקצת על ידי הצגת שתי פונקציות שמבצעות כמעט אותו דבר. _.get מחזיר ערך מאפיין מאובייקט, ו-_.set, ובכן, ניחשתם נכון, הגדר מאפיין עם ערך. שום דבר ייחודי, מלבד שאתה יכול לגשת לנכס דרך הנתיב שלו.
הבה נסתכל על דוגמה.
אם הנתיב לא קיים בזמן הקריאה ל-_.set, הוא ייווצר. לא יהיו עוד שגיאות "לא ניתן להגדיר 'פריטים' של מאפיין לא מוגדרים". אם הנתיב לא קיים, _.get יחזיר undefined במקום שגיאה. אם הנתיב לא מוגדר, אתה יכול גם לספק ערך ברירת מחדל (פרמטר שלישי).
4. _.מצא
במקום לעבור בלולאה דרך מערך כדי למצוא אובייקט בודד, אנו עשויים להשתמש ב-_.find. זה טוב, אבל זה לא הדבר היחיד ש_.find יכול לעשות. עם שורת קוד אחת, אתה עשוי גם לגלות אובייקט על ידי שימוש במאפיינים רבים. תבדוק את זה!
5. _.keyBy
אחד האהובים עלי הוא _.keyBy. זה די שימושי כאשר מנסים להשיג אובייקט עם תכונה מסוימת. נניח שיש לנו 100 רשומות בבלוג וברצוננו לתפוס את זה עם המזהה "34abc." איך אנחנו הולכים לעשות את זה? בוא נראה מה קורה! שיטה זו יכולה לעזור לך לארגן אוסף אובייקטים אם שרת מספק אותו כמערך. פונקציה יכולה לשמש גם כארגומנט השני.
6. _.לכל אחד
שיטה זו תחזור על מערך אובייקטים אחד אחד, ותאפשר לך לעשות כל היגיון שתרצה. בדוגמה הראשונה הזו, אני אעבור בלולאה על רשימה של אובייקטים של משתמש, ואמזג את שמות המשפחה והשמות הפרטיים שלהם כדי ליצור מאפיין חדש בשם fullName.
עבור כל אחד מאלה מקבל שני פרמטרים. המערך שאנו עוברים עליו הוא הפרמטר הראשון. הארגומנט השני הוא פונקציית איטרציה, כאשר הפרמטר הראשון הוא הפניה לפריט בודד והשני הוא האינדקס הנוכחי של האיטרציה.
7. _.מפה
מפה, כמו forEach, חוזרת על פני מערך של ערכים. פונקציית המפה, לעומת זאת, מחזירה מערך חדש של ערכים המסופקים על ידי הפונקציה iterate. אנו משתמשים באותו אוסף של משתמשים כמו בדוגמה של forEach שלנו כאן. אנו עשויים להשתמש ב-_.map כדי ליצור משתנה חדש שיש לו מערך שטוח של כל השמות המלאים של המשתמשים.
8. _.הבדל
פונקציית ההבדל תייצר מערך חדש של ערכים השונה בין המערך הראשון והשני. חשוב לציין כי מיקומי הטיעונים משפיעים על התוצאות.
9. _.קבל
הפונקציה _.get() יכולה לסייע לנו באיתור אלמנט בתוך אובייקט. אנו יכולים להגדיר ערך ברירת מחדל עבור הפונקציה _.get() שתחזיר אם אלמנט לא נמצא בנתיב שסופק. הפונקציה _.get() לוקחת שלושה פרמטרים, הראשון שבהם הוא האובייקט שממנו אנו רוצים להשיג אלמנט. השביל הוא השני. הערך השלישי הוא ערך ברירת המחדל שאנו רוצים להחזיר אם לא ניתן לאתר אלמנט.
10. _.מצא
הפונקציה _find() עשויה להיראות זהה לשיטת _.get() . הפונקציה _.find(), כמו שיטת _.get(), מקבלת שלושה פרמטרים. עם זאת, בניגוד לשיטת _.get(), הארגומנט הראשון יכול להיות מערך או אובייקט. הארגומנט השני מציין את הפונקציה שתיקרא בכל איטרציה. הקלט השלישי הוא מדד ההתחלה של האוסף. מכיוון שהפונקציה _.find() חוזרת על כל אלמנט באוסף.
11. _.groupBy
צור אובייקט שנקרא על ידי תוצאה של פונקציה (או שם מאפיין שנבחר באקראי), כאשר כל ערך הוא מערך של אובייקטים עם אותו מפתח.
12. _.סט
השיטה _.set() היא ההיפוך של השיטה _.get(). זה ישנה את הערך של אלמנט בנתיב נתון. האובייקט או המערך הם הפרמטר הראשון, הנתיב הוא השני, והערך שברצונך להגדיר הוא השלישי.
13. _.מיזוג
הוא פועל באופן דומה ל-Object.assign, אלא שהוא חוזר עמוק לתוך המבנה הבסיסי כדי לעדכן את האובייקטים העמוקים יותר במקום להחליף אותם.
14. ._דבור
זו דוגמה די פשוטה. כל "שילוב הסימנים הדיאקריטיים" מוסרים. כך "é" הופך ל-"e". כאשר יש אינטרנציונליזציה ולוקליזציה, זה נוהג טוב לפטור טקסט עבור פונקציות חיפוש.
15. _.הקפצה
זוהי אחת מאסטרטגיות Lodash היעילות ביותר. זה עשוי להיות גם קשה לתפוס מה זה עושה ומתי אתה צריך להשתמש בו. השיטה _.debounce() מחזירה פונקציה. הפונקציה של שיטת _.debounce() תדחה את ההפעלה עד למספר מוגדר של אלפיות שניות מאז שהפונקציה הופעלה לאחרונה.
סיכום
Lodash היא הרחבה רבת עוצמה של שפת JavaScript. במינימום מאמץ, אפשר לבנות קוד תמציתי ויעיל. Lodash הוא גם מודולרי לחלוטין. למרות שחלק מהפונקציונליות שלו עשויות בסופו של דבר לצאת משימוש, אני מאמין שהיא עדיין תספק יתרונות רבים למפתחים תוך כדי דחיפה להתפתחות של שפת JS.
אני מקווה שהיכולות המעטות הללו של Lodash יעזרו לך לראות עד כמה Lodash יכול להיות חזק בעבודה עם מערכים, אובייקטים ואוספים. אתה יכול לבקר את תיעוד לחקור שפע של אפשרויות אחרות שיש לה להציע.
השאירו תגובה