Lodash היא ספריית JavaScript המציעה פונקציות שירות עבור משימות תכנות טיפוסיות באמצעות מודל התכנות הפונקציונלי.
הספרייה, שעובדת עם דפדפני אינטרנט ו-Node.js, יכולה לשנות ולהמיר נתונים, לבצע פעולות אסינכרוניות ועוד.
למד כיצד להשתמש ב-lodash כדי לתפעל מערכים, מחרוזות ואובייקטים ולגלות על התכונות המתקדמות שלו כמו הרכב פונקציות.
תחילת העבודה עם Lodash
אתה יכול להוסיף lodash לאפליקציה שלך באחת משתי דרכים: באמצעות רשת אספקת תוכן (CDN) או התקנתה באמצעות npm או חוט.
כדי להשתמש ב-lodash ישירות בדפדפן, העתק את קישור ה-CDN של lodash למטה והכנס אותו לחלק הראשי של קובץ ה-HTML שלך:
<תַסרִיטsrc=" https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js"
type="text/javascript">תַסרִיט>
באמצעות גישה זו, אתה יכול להריץ סקריפטים באמצעות lodash בגוף ה-HTML שלך.
כדי להשתמש ב-lodash בפרויקט Node.js, עליך להתקין אותו בספריית הפרויקט שלך. אתה יכול להשתמש ב-npm או בחוט כדי לעשות זאת:
npm install --שמור את lodash
# אוֹ
חוט להוסיף lodash
כעת תוכל להשתמש ב-lodash על ידי דרישתו בקובץ ה-JavaScript שלך:
// דורש את ספריית lodash
const _ = לִדרוֹשׁ("לודש");
// שימוש בשיטת _.sum
const מספרים = [10, 20, 30, 40, 50];
const sum = _.sum (מספרים);
לְנַחֵם.log (sum);
כדי להפעיל את קובץ ה-JavaScript, הזן את פקודת הצומת:
node [שם הסקריפט שלך]
מניפולציה של מערך בלודש
Lodash מגיע עם סט של שיטות למניפולציה של מערכים המספקות פונקציונליות מעבר למחלקת Array המובנית של JavaScript.
.חתיכה
שיטה זו מחלקת מערך לקבוצות של מערכים קטנים יותר בגודל נתון. הנתח הסופי עשוי להיות קטן מהגודל שאתה מבקש.
הנה דוגמה:
const מערך = [ 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ג' ];
const newArray = _.chunk (מערך, 2)
לְנַחֵם.log (newArray)
// פלט:
// [ [ 'a', 'b' ], [ 'c', 'd' ], [ 'e', 'f' ], [ 'g' ] ]
.concat
שיטה זו יוצרת מערך חדש על ידי שרשור ערכים לסוף מערך קיים.
לדוגמה:
constמַעֲרָך = [ 1, 2, 'א' ];
const newArray = _.concat(מַעֲרָך, 5, 'ב', [ 8 ], [ [ 9 ] ]);
לְנַחֵם.log (newArray);
// פלט:
// [ 1, 2, 'a', 5, 'b', 8, [ 9 ] ]
.לְהִצְטַרֵף
שיטה זו מחזירה מחרוזת על ידי שילוב אלמנטים של מערך. הוא מצטרף אליהם באמצעות מפריד שאתה מעביר כפרמטר בעת קריאה למתודה. מפריד ברירת המחדל שבו הוא משתמש הוא פסיק:
constמַעֲרָך = [ "אני", "או", "ד", "א", "ש", "ח" ];
const newArray = _.join(מַעֲרָך);
לְנַחֵם.log (newArray);// פלט:
// l, o, d, a, s, hconst newArray = _.join(מַעֲרָך, "-");
לְנַחֵם.log (newArray);
// פלט:
// l-o-ד-א-ס-ח
מניפולציה של מיתרים בלודש
עם JavaScript חשוף, עיצוב מחרוזת הוא תהליך פשוט. אבל lodash עושה את זה אפילו יותר קל.
חלק מפעולות המניפולציה הנפוצות ביותר במיתר שאתה יכול לבצע עם lodash כוללות:
.startsWith ו-.endsWith
שתי השיטות הללו בודקות אם מחרוזת מתחילה או מסתיימת במחרוזת משנה, בהתאמה. שתי השיטות מחזירות ערך בוליאני של true או false.
לדוגמה:
const מחרוזת = "לודש";
לְנַחֵם.log (_.startsWith (מחרוזת, "אני"));
// פלט: נכוןלְנַחֵם.log (_.startsWith (מחרוזת, "או"));
// פלט: שקרלְנַחֵם.log (_.endsWith (מחרוזת, "M"));
// פלט: שקר
לְנַחֵם.log (_.endsWith (מחרוזת, "ח"));
// פלט: נכון
.חזור
שיטה זו מדפיסה שוב ושוב מחרוזת מספר מסוים של פעמים. זה לוקח את המחרוזת כארגומנט הראשון שלה ואת מספר החזרות כארגומנט השני:
const מחרוזת = "לודש"
const newString = _.repeat (מחרוזת, 3);
לְנַחֵם.log (newString);
// פלט: lodashlodashlodash
.מְטוּפָּח
שיטה זו מסירה רווח לבן מוביל ונגרר. אתה יכול גם להשתמש בו כדי להסיר תווים מסוימים בתחילת ובסוף של מחרוזת.
לדוגמה:
// הסרת רווח לבן מוביל ונגרר
const מחרוזת = "בר"
const newString = _.trim (מחרוזת)
לְנַחֵם.log (newString);
// פלט: בר
// הסרת תווים שצוינו
const מחרוזת = ",בַּר,"
const newString = _.trim (מחרוזת, ",")
לְנַחֵם.log (newString);
// פלט: בר
מניפולציה של אובייקטים בלודש
להלן כמה דוגמאות למניפולציה של מחרוזת שתוכל לבצע עם lodash:
.לְמַזֵג
ה _.לְמַזֵג() השיטה יוצרת אובייקט חדש על ידי שילוב המאפיינים של אובייקטי הקלט. ערך מאפיין מהאובייקט המאוחר יותר יחליף את הערך מהאובייקט הקודם אם המאפיין קיים ביותר מאובייקט אחד.
לדוגמה:
const ספרים = {
'מָתֵימָטִיקָה': 4,
'מַדָע': 7
};
const הערות = {
'מַדָע': 3,
'כִּימִיָה': 5
};_.לְמַזֵג(ספרים, הערות);
לְנַחֵם.log (ספרים);
// פלט:
// { מתמטיקה: 4, מדעים: 3, כימיה: 5 }
בדוגמה זו, השיטה מוסיפה את המאפיין 'כימיה' מהאובייקט השני ומחליפה את הערך של המאפיין 'מדע' של האובייקט הראשון.
.יש ל
שיטה זו מחזירה true אם סדרה נתונה של מאפיינים קיימת באובייקט ו-false אחרת.
לדוגמה:
const ספרים = {
'מָתֵימָטִיקָה': 4,
'מַדָע': 7
};
לְנַחֵם.log (_.has (ספרים, "מָתֵימָטִיקָה"));
// פלט: נכון
.לְהַשְׁמִיט
שיטה זו מחזירה אובייקט חדש על ידי הסרת מאפיינים שצוינו מהנתון.
לדוגמה:
var ספרים = {
'מָתֵימָטִיקָה': 4,
'מַדָע': 3,
'כִּימִיָה': 5
};
לְנַחֵם.log (_.omit (ספרים, "מַדָע"));
// פלט: { מתמטיקה: 4, כימיה: 5 }
קומפוזיציה של פונקציה בלודש
הרכב פונקציות הוא טכניקה שתוכל להשתמש בה שפת תכנות פונקציונלית. זה כולל שילוב של שתי פונקציות או יותר לפונקציה חדשה על ידי קריאה לכל פונקציה בסדר מסוים. תכונה זו מאפשרת לך ליצור היגיון מורכב יותר מפונקציות פשוטות יותר.
כדי ליישם טכניקה זו, lodash מגיע עם ה _.זְרִימָה ו _.flowRight פונקציות. ה _.זְרִימָה() הפונקציה מקבלת רשימה של פונקציות כארגומנטים ומוציאה פונקציה חדשה המחילה את הפונקציות באותו סדר שבו אתה מעביר אותן. ה _.flowRight() הפונקציה עושה את אותו הדבר, אבל היא קוראת לפונקציות הפוך.
לדוגמה:
פוּנקצִיָהaddFive(מספר) {
לַחֲזוֹר מספר + 5
}פוּנקצִיָהפעמים שתיים(מספר) {
לַחֲזוֹר מספר * 2
}const addFiveAndTimesTwo = _.flow([addFive, timesTwo]);
const addFiveAndTimesTwoReverse = _.flowRight([addFive, timesTwo]);
לְנַחֵם.log (addFiveAndTimesTwo(3));
// פלט: 16
לְנַחֵם.log (addFiveAndTimesTwoReverse(3));
// פלט: 11
הקוד לעיל מגדיר את הפונקציות addFive ו פעמים שתיים. הפונקציה addFive מחזירה את התוצאה של הוספת 5 למספר נתון. הפונקציה timesTwo מכפילה מספר קלט ב-2 ומחזירה את התוצאה.
לאחר מכן הקוד משתמש ב- _.זְרִימָה() פונקציה לשלב את שני האחרים ולייצר את הפונקציה החדשה, addFiveAndTimesTwo. פונקציה חדשה זו תבצע תחילה את פעולת addFive על הארגומנט שלה לפני ביצוע פעולת timesTwo בתוצאה הסופית.
ה _.flowRight() פונקציה מייצרת פונקציה חדשה שעושה אותו דבר כמו זרימה, אבל הפוך.
לבסוף, קוד זה קורא לשתי הפונקציות החדשות, עובר 3, בתור הארגומנט, ומתעד את התוצאות למסוף.
היתרונות של עבודה עם Lodash
אתה יכול להשתמש ב-lodash כדי לפשט את הקוד שלך ולהפוך את הפרויקטים שלך לגמישים יותר וניתנים לתחזוקה. המגוון הרחב של פונקציות השירות, האימוץ הנרחב והעדכונים השוטפים שלו יעזרו לך לכתוב קוד אלגנטי ויעיל. אתה יכול להשתמש ב-lodash כדי להבטיח שהקוד שלך תמיד עדכני ותואם לדפדפנים עכשוויים.