Lodash یک کتابخانه کاربردی برای تقویت کد جاوا اسکریپت شما و ساده کردن اصول اولیه است.
Lodash یک کتابخانه جاوا اسکریپت است که توابع کاربردی را برای کارهای برنامه نویسی معمولی با استفاده از مدل برنامه نویسی تابعی ارائه می دهد.
این کتابخانه که با مرورگرهای وب و Node.js کار می کند، می تواند داده ها را تغییر داده و تبدیل کند، عملیات ناهمزمان را انجام دهد و موارد دیگر.
یاد بگیرید که چگونه از lodash برای دستکاری آرایه ها، رشته ها و اشیاء استفاده کنید و از ویژگی های پیشرفته آن مانند ترکیب تابع مطلع شوید.
شروع کار با Lodash
میتوانید به یکی از دو روش lodash را به برنامه خود اضافه کنید: استفاده از شبکه تحویل محتوا (CDN) یا نصب آن با استفاده از npm یا yarn.
برای استفاده مستقیم از lodash در مرورگر، پیوند lodash CDN زیر را کپی کنید و آن را در قسمت head فایل HTML خود قرار دهید:
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"
type="text/javascript"></script>
با استفاده از این روش، می توانید اسکریپت ها را با استفاده از lodash در بدنه HTML خود اجرا کنید.
برای استفاده از lodash در پروژه Node.js، باید آن را در فهرست پروژه خود نصب کنید. برای این کار می توانید از npm یا نخ استفاده کنید:
npm install --save lodash
# or
yarn add lodash
اکنون می توانید از lodash با درخواست آن در فایل جاوا اسکریپت خود استفاده کنید:
// Requiring the lodash library
const _ = require("lodash");
// Using the _.sum method
const numbers = [10, 20, 30, 40, 50];
const sum = _.sum(numbers);
console.log(sum);
برای اجرای فایل جاوا اسکریپت، دستور node را وارد کنید:
node [Your script name]
دستکاری آرایه در لوداش
Lodash با مجموعه ای از روش ها برای دستکاری آرایه ارائه می شود که عملکردی فراتر از کلاس Array داخلی جاوا اسکریپت ارائه می دهد.
.تکه
این روش یک آرایه را به گروه هایی از آرایه های کوچکتر با اندازه معین تقسیم می کند. تکه نهایی ممکن است کوچکتر از اندازه درخواستی شما باشد.
در اینجا یک مثال است:
const array = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g' ];
const newArray = _.chunk(array, 2)
console.log(newArray)
// Output:
// [ [ 'a', 'b' ], [ 'c', 'd' ], [ 'e', 'f' ], [ 'g' ] ]
.concat
این روش با الحاق مقادیر به انتهای یک آرایه موجود، یک آرایه جدید تولید می کند.
مثلا:
const array = [ 1, 2, 'a' ];
const newArray = _.concat(array, 5, 'b', [ 8 ], [ [ 9 ] ]);
console.log(newArray);
// Output:
// [ 1, 2, 'a', 5, 'b', 8, [ 9 ] ]
.پیوستن
این متد یک رشته را با ترکیب عناصر یک آرایه برمی گرداند. با استفاده از جداکنندهای که هنگام فراخوانی متد به عنوان پارامتر ارسال میکنید، به آنها میپیوندد. جداکننده پیش فرضی که استفاده می کند کاما است:
const array = [ "l", "o", "d", "a", "s", "h" ];
const newArray = _.join(array);
console.log(newArray);
// Output:
// l,o,d,a,s,h
const newArray = _.join(array, "-");
console.log(newArray);
// Output:
// l-o-d-a-s-h
دستکاری رشته در لوداش
با جاوا اسکریپت خالی، قالب بندی رشته یک فرآیند ساده است. اما lodash آن را آسان تر می کند.
برخی از رایج ترین عملیات دستکاری رشته که می توانید با lodash انجام دهید عبارتند از:
.startsWith و .endsWith
این دو روش بررسی می کنند که آیا یک رشته به ترتیب با یک رشته فرعی شروع یا پایان می یابد. هر دو روش مقدار بولی درست یا نادرست را برمیگردانند.
مثلا:
const string = "lodash";
console.log(_.startsWith(string, "l"));
// Output: true
console.log(_.startsWith(string, "o"));
// Output: false
console.log(_.endsWith(string, "m"));
// Output: false
console.log(_.endsWith(string, "h"));
// Output: true
.تکرار
این روش بارها و بارها یک رشته را چندین بار چاپ می کند. رشته را به عنوان آرگومان اول و تعداد تکرارها را به عنوان آرگومان دوم در نظر می گیرد:
const string = "lodash"
const newString = _.repeat(string, 3);
console.log(newString);
// Output: lodashlodashlodash
.تریم
این روش فضای سفید پیشرو و انتهایی را حذف می کند. همچنین می توانید از آن برای حذف هر کاراکتر خاص در ابتدا و انتهای یک رشته استفاده کنید.
مثلا:
// Removing leading & trailing whitespace
const string = " bar "
const newString = _.trim(string)
console.log(newString);
// Output: bar
// Removing specified characters
const string = ",bar,"
const newString = _.trim(string, ",")
console.log(newString);
// Output: bar
دستکاری اشیا در لوداش
در زیر چند نمونه از دستکاری رشته که می توانید با lodash انجام دهید آورده شده است:
.ادغام
متد _.merge() یک شی جدید را با ترکیب خصوصیات اشیاء ورودی ایجاد می کند. اگر ویژگی در بیش از یک شی وجود داشته باشد، مقدار یک ویژگی از شیء بعدی جایگزین مقدار شی قبلی خواهد شد.
مثلا:
const books = {
'Mathematics': 4,
'Science': 7
};
const notes = {
'Science': 3 ,
'Chemistry': 5
};
_.merge(books, notes);
console.log(books);
// Output:
// { Mathematics: 4, Science: 3, Chemistry: 5 }
در این مثال، متد ویژگی «شیمی» را از شی دوم اضافه میکند و مقدار خاصیت «علم» شی اول را بازنویسی میکند.
دارد
این متد اگر یک سری از ویژگیها در یک شی وجود داشته باشد true و در غیر این صورت false را برمیگرداند.
مثلا:
const books = {
'Mathematics': 4,
'Science': 7
};
console.log(_.has(books, "Mathematics"));
// Output: true
حذف کردن
این متد یک شی جدید را با حذف ویژگی های مشخص شده از شی داده شده برمی گرداند.
مثلا:
var books = {
'Mathematics': 4,
'Science': 3 ,
'Chemistry': 5
};
console.log(_.omit(books, "Science"));
// Output: { Mathematics: 4, Chemistry: 5 }
ترکیب تابع در لوداش
ترکیب تابع تکنیکی است که می توانید در یک زبان برنامه نویسی تابعی از آن استفاده کنید. این شامل ترکیب دو یا چند تابع در یک تابع جدید با فراخوانی هر تابع به ترتیب خاصی است. این ویژگی شما را قادر می سازد تا منطق پیچیده تری را از توابع ساده تر ایجاد کنید.
برای اعمال این تکنیک، lodash با توابع _.flow و _.flowRight همراه است. تابع _.flow () لیستی از توابع را به عنوان آرگومان می پذیرد و یک تابع جدید را خروجی می دهد که توابع را به همان ترتیبی که شما آنها را ارسال می کنید اعمال می کند. معکوس.
مثلا:
function addFive(number) {
return number + 5
}
function timesTwo(number) {
return number * 2
}
const addFiveAndTimesTwo = _.flow([addFive, timesTwo]);
const addFiveAndTimesTwoReverse = _.flowRight([addFive, timesTwo]);
console.log(addFiveAndTimesTwo(3));
// Output: 16
console.log(addFiveAndTimesTwoReverse(3));
// Output: 11
کد بالا توابع addFive و timesTwo را تعریف می کند. تابع addFive نتیجه جمع کردن 5 به یک عدد داده شده را برمی گرداند. تابع timesTwo یک عدد ورودی را در 2 ضرب می کند و نتیجه را برمی گرداند.
سپس کد از تابع _.flow() برای ترکیب دو تابع دیگر و تولید تابع جدید addFiveAndTimesTwo استفاده می کند. این تابع جدید ابتدا عملیات addFive را روی آرگومان خود قبل از اجرای عملیات timesTwo در نتیجه نهایی انجام می دهد.
تابع _.flowRight() یک تابع جدید تولید می کند که همان کار جریان را انجام می دهد، اما به صورت معکوس.
در نهایت، این کد دو تابع جدید را فراخوانی می کند که عدد 3 را به عنوان آرگومان ارسال می کند و نتایج را در کنسول ثبت می کند.
مزایای کار با Lodash
شما می توانید از lodash برای ساده سازی کد خود استفاده کنید و پروژه های خود را انعطاف پذیرتر و قابل نگهداری تر کنید. طیف گسترده ای از توابع کاربردی، پذیرش گسترده و به روز رسانی های منظم به شما کمک می کند کدی زیبا و موثر بنویسید. می توانید از lodash استفاده کنید تا تضمین کنید کد شما همیشه جاری و سازگار با مرورگرهای امروزی است.