כמעט בכל פרויקט שתעבדו בו, או שצפיתם בו ברשת או כמעט כל פרויקט אחר שעולמות שלנו של javascript אתם ככל הנראה נתקלתם בloadash . מבין הספריות השימושיות של javascript , לואודש – ספרייה צד שלישי שמכילה המון דברים שמגניבים שבעיקר עוזרים לנו בעבודה עם מערכים. בפוסט הזה נעשה היכרות קצרה עם הספרייה ונראה שימושים שפוצים כך שתוכלו להסיק לבד למה ספריה זו כלכך שימושית עבורנו 🙂
שימושים נפוצים עם loadash
Lodash מקל על JavaScript בכך שהוא מסיר את הטרחה בעבודה עם מערכים, מספרים, אובייקטים, מחרוזות וכו'.
השיטות המודולריות של Lodash מצוינות עבור:
- איטרציה של מערכים, אובייקטים ומיתרים
- מניפולציה ובדיקת ערכים
- יצירת פונקציות מורכבות
להלן דוגמאות נפוצות
let users = [{ firstName: 'Codcodile', lastName: 'Code'}]; const someArrayList = ['Bread', 'Milk', 'Tea', 'Coffee', 'Sparkling drinks', 'Juices', 'Energy drink', 'Mocktails', 'Milkshakes', 'Milk', 'Tea', 'Coffee', 'Sparkling drinks',] const chunkArr = _.chunk(someArrayList, 3); console.log(chunkArr) // תחלק את המערך לתת מערכים בגודל 3 ואת השארית מבערך גם בתת מערך const joinArrStr = _.join(someArrayList, '|'); console.log(joinArrStr) // מחזירה סטינג של כל המערך . דומה מאד ל ג'ויין שאנחנו מכירים כבר . ישנם הרבה שכתובים שעשו לפונקציות קיימם ב // JS const withoutArr = _.without(someArrayList, 'Sparkling drinks','Energy drink'); console.log(withoutArr) // מחזירה מערך ללא סטרינגים שנבחרו const diffArr = _.difference(someArrayList, ['Sparkling drinks','Energy drink','Mocktails', 'Milkshakes']); console.log(diffArr) // הפונקציה בודקת בין המערכים ומחזירה מעך חדש עם האייטמים שאינם זהים בין המערכים let items = [16, 15, 18, 16, 19, 15, 15, 5, 16]; items = _.uniq(items); console.log(items); // מחזירה מערך כך שאין אייטמים כפולים במערך המקורי _.forEach(users, function(user, index) { user.fullName = user.firstName + ' ' + user.lastName; }); // משנה את האובייקט שלנו במקרה הזה מוסיפה אליו שם מלא. מאד דומה לפור איץ' הרגיל שאנחנו מכירים console.log(users);
מקבץ זה של שאפשרויות עם loadash הוא ממש קצה המזלג. כפי שאפשר לראות לואדש מאפשר לנו פונקציונאליות שימושיות , חלקן בסיסיות מאד ואף דומות מאד לדברים שגם JS יודע לעשות וכן ישנם הרבה יכולות נוספות ושימושיות שיחסכו לנו שורות קוד מיותרות שחוזרות על עצמן כמעט בכל פרויקט.
שקלו לחיוב לצרף את לואודש לכל פרויקט שלכם ותנסו גם להעמיק ביכולות שלו כי הן באמת שימושיות מאד.
ארצה להציג פונקציה של לואודש שהיא קצת יותר מורכבת ומתאימה לעבודה עם אובייקטים, שימו לב שיש גם המון יכולות בלואודש לעבודה עם אובייקטים ולא רק מערכים:
const user = { name: 'codcodile', lastname: 'code', language: {code: 'js'} } const user2 = { name: 'codcodile2', lastname: 'code2', language: null } let language = _.get(user, 'language.code',user.language) console.log(language); language = _.get(user2, 'language.code',user2.language) console.log(language);
בדוגמה של שימוש בפונקציה get אפשר לראות שיש פה משהו קורה לעיתים שהאובייקטים לא כלכך מתאימים זה לזה ואז תדרשו לסדר תנאים מתאימים כך שהקוד שלכם לא ישבר ויזרוק שגיאה. get פותרת את זה בקלות כך שנוכל להעביר לה את הPATH הדיפולטיבי וגם PATH נוסף אחר. במידה וget לא תמצא מידע היא תחזיר null והקוד שלנו לא ישבר ויחזיר שגיאה.
אז זו עוד דוגמה קטנה ליכולות הבסיסיים והסופר שימושיים עם loadash . ממליצים בחום.
בהצלחה 🐊😎❤