آشنایی با کتابخانه lodash
کتابخانه lodash یکی از ابزارهای قدرتمند در جاوا اسکریپت برای کار با آرایهها، اشیاء، رشتهها و … است. یکی از قابلیتهای مفید آن، توابعی برای کپی عمیق (Deep Copy) دادهها است.
برای استفاده از lodash، ابتدا باید آن را نصب کنید. اگر از استفاده میکنید، میتوانید آن را با استفاده از npm نصب کنید:
npm install lodash
۱- کپی عمیق (Deep Copy):
با استفاده از تابع _.cloneDeep
میتوانید یک کپی عمیق از یک شیء یا آرایه ایجاد کنید.
const _ = require('lodash'); let originalArray = [1, 2, { a: 3 }]; let deepCopy = _.cloneDeep(originalArray); deepCopy[2].a = 99; console.log(originalArray); // [1, 2, { a: 3 }] console.log(deepCopy); // [1, 2, { a: 99 }]
۲- تقسیم آرایه به چانکها (Chunking):
تابع _.chunk
یک آرایه را به آرایههای کوچکتر تقسیم میکند.
let array = [1, 2, 3, 4, 5, 6]; let chunkedArray = _.chunk(array, 2); console.log(chunkedArray); // [[1, 2], [3, 4], [5, 6]]
۳- تفاوت بین آرایهها (Difference):
تابع _.difference
عناصر موجود در یک آرایه را که در آرایه دیگر نیستند، برمیگرداند.
let array1 = [1, 2, 3]; let array2 = [2, 3, 4]; let difference = _.difference(array1, array2); console.log(difference); // [1]
تابع _.pick
ویژگیهای مشخصی از یک شیء را انتخاب میکند.
let object = { 'a': 1, 'b': 2, 'c': 3 }; let pickedObject = _.pick(object, ['a', 'c']); console.log(pickedObject); // { 'a': 1, 'c': 3 }
۵- ترکیب اشیاء (Merge):
تابع _.merge
اشیاء را به یکدیگر ترکیب میکند.
let object1 = { 'a': 1 }; let object2 = { 'b': 2, 'c': { 'd': 4 } }; let object3 = { 'c': { 'e': 5 } }; let mergedObject = _.merge(object1, object2, object3); console.log(mergedObject); // { 'a': 1, 'b': 2, 'c': { 'd': 4, 'e': 5 } }
۶- گروهبندی عناصر (Group By):
تابع _.groupBy
عناصر یک مجموعه را بر اساس یک ویژگی خاص گروهبندی میکند.
let people = [ { 'name': 'John', 'age': 23 }, { 'name': 'Jane', 'age': 21 }, { 'name': 'Jim', 'age': 23 } ]; let groupedByAge = _.groupBy(people, 'age'); console.log(groupedByAge); /* { '۲۱': [{ 'name': 'Jane', 'age': 21 }], '۲۳': [{ 'name': 'John', 'age': 23 }, { 'name': 'Jim', 'age': 23 }] } */
۷- پیدا کردن یکتاها (Uniq):
تابع _.uniq
عناصر یکتای یک آرایه را برمیگرداند.
let array = [1, 2, 2, 3, 4, 4, 5]; let uniqueArray = _.uniq(array); console.log(uniqueArray); // [1, 2, 3, 4, 5]
۸- مرتبسازی بر اساس ویژگی (Order By):
تابع _.orderBy
یک مجموعه را بر اساس یک یا چند ویژگی مرتب میکند.
let users = [ { 'user': 'fred', 'age': 48 }, { 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }, { 'user': 'barney', 'age': 34 } ]; let orderedUsers = _.orderBy(users, ['user', 'age'], ['asc', 'desc']); console.log(orderedUsers); /* [ { 'user': 'barney', 'age': 36 }, { 'user': 'barney', 'age': 34 }, { 'user': 'fred', 'age': 48 }, { 'user': 'fred', 'age': 40 } ] */
نتیجهگیری:
lodash
یک ابزار قدرتمند است که با ارائه توابع کاربردی، کدنویسی را سادهتر و کاراتر میکند. این توابع فقط نمونههایی از کاربردهای گسترده این کتابخانه هستند.
منبع : Microsoft Copilot
متن سوال :
- لطفا درباره کاربردهای کتابخانه lodash توضیح بده