اگر تا به حال با جاوا اسکریپت کار کرده باشید، حتی اگر میزان کارتان با آن کم هم بوده باشد، باز با یک سری از مفاهیم آشنایی دارید.جاوا اسکریپت یک زبان برنامه نویسی به شمار می آید که در زمینه های مختلفی مانند طراحی سایت و توسعه اپلیکیشن و توسعه بازی و … کاربرد دارد. اما اگر بخواهید به صورت حرفهای در این زمینه کار کنید، باید اطلاعاتتان را بالاتر ببرید. بدین منظور ما در این مقاله تصمیم گرفتیم راجع به این موضوع صحبت کنیم که دقیقاً متدهای map و filter در جاوا اسکریپت چه چیزهایی هستند و چه توضیحاتی در مورد آن ها وجود دارد.
توضیحاتی در مورد متدهای map و filter در جاوا اسکریپت
در مورد این متدها باید گفت که در حالت عادی هر کدام عملکرد مخصوص به خودشان را دارند. در واقع یک فانکشن دریافت می کنند که همان ورودی کار است و به اندازه تعداد آیتم هایی که وجود دارد، آنها را تکرار می کنند. کاربرد متد map در جاوا اسکریپت این است؛ زمانی که شما می خواهید یک پروژه خاص را به انجام برسانید، باید آرایه هایی داشته باشید تا بتوانبد یک کار را با همه آیتم های داخل آرایه انجام دهید.
یعنی فرض کنید که می خواهید برای آیتم های آرایه به صورت جداگانه یک سری تغییرات را ایجاد کنید. دقیقاً این متد همین کار را برایتان انجام می دهد اما در مورد متد filter شرایط کمی متفاوت است.
در مورد این متد، زمانی که می خواهید از آن استفاده کنید، یعنی باید چند مورد از آیتم هایی که ارائه شده است را تحت یک سری شرایط دلخواه یا خاص فیلتر کنید. یعنی آنها را حذف کنید. فرض کنید که سیب، پرتقال و موز را در اختیار دارید. حال می خواهید از بین این سه آیتمی که در اختیار دارید، پرتقال را انتخاب کرده و حذف کنید. با انجام این کار یعنی از متد filter استفاده کرده اید اما در متد map شرایط اینگونه نیست. مثلاً شما از این سه میوه ای که در اختیار دارید، می توانید در این متد از هر کدام یک تکه را قاچ کرده و بردارید.
ساختار متدهای map و filter
اگر بخواهیم در مورد ساختار متدهای map و filter در جاوا اسکریپت به طور کامل صحبت کنیم، می توانیم آنها را به صورت زیر برایتان شرح دهیم.
ساختار متد فیلتر
let newArray = arr.filter(function(element, index, arr) {
})let newArray = arr.filter(function(element, index, arr) {
})
شرایط آرایه هایی که متد filter قرار است روی آنها کار کنند، هم شامل موارد زیر است:
let numbers = [29, 5, 10, 11, 35];
let filtered = numbers.filter((number, index, array) {
console.log(index)
console.log(array)
return number > 10
});
// 0 [29, 5, 10, 11, 35]
// 1 [29, 5, 10, 11, 35]
// 2 [29, 5, 10, 11, 35]
// 3 [29, 5, 10, 11, 35]
// 4 [29, 5, 10, 11, 35]let numbers = [29, 5, 10, 11, 35];
let filtered = numbers.filter((number, index, array) {
console.log(index)
console.log(array)
return number > 10
});
// 0 [29, 5, 10, 11, 35]
// 1 [29, 5, 10, 11, 35]
// 2 [29, 5, 10, 11, 35]
// 3 [29, 5, 10, 11, 35]
// 4 [29, 5, 10, 11, 35]
ساختار متد map
const numbers = [1, 2, 3]
const mulBy2 = numbers.map(item => item * 2)
console.log(mulBy2) // [2, 4, 6]
خروجی آرایه های پردازش شده از طریق متد map
let numbers = [1, 2, 3, 4]
let filteredNumbers = numbers.map(function(num, index) {
if (index < 3) {
return num
}
})
console.log(filteredNumbers) // [1, 2, 3, undefined]let numbers = [1, 2, 3, 4]
let filteredNumbers = numbers.map(function(num, index) {
if (index < 3) {
return num
}
})
console.log(filteredNumbers) // [1, 2, 3, undefined]
جمع بندی
ما در این مقاله سعی کردیم که به شکل کاملاً واضح راجع به متدهای map و filter در جاوا اسکریپت برایتان توضیحاتی را ارائه دهیم. اگر شما در این زمینه سررشته داشته و از قبل مطالعات و تجربیاتی را به عمل آورده باشید، درک این موضوع اصلاً برایتان سخت نیست. مشاورین مجموعه رایان می توانند در فهم دقیق تر این مسائل به شما کمک کنند با توضیحاتی که در اختیارتان قرار دادیم، راجع به ساختار هر دو متد به طور ویژه آشنایی پیدا کردید. در نتیجه اکنون اطلاعات بیشتری در مورد آنها دارید. اگرچه که باید سطح مطالعاتی خود را گسترده کنید و سعی کنید از تجربیات خود کمک بگیرید تا بتوانید فهم دقیق تری در مورد این موضوع داشته باشید.