۶ میلیون تومن هدیه🎁 + کلی آفر جذاب در کمپین تابستون🔥 تابستون کوتاهه پس بزن بریم 👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علی
پاس دادن اطلاعات به Array.from با استفاده از this
جامعه جاوا اسکریپت ایجاد شده در ۱۰ شهریور ۱۴۰۳

درود

زمانی که ما از Array.from با this استفاده می‌کنیم، علت پاس دادن دیتا بهش چطوری هست و باید چه اطلاعاتی پاس داده بشه و به چه صورت؟

سلام،

وقتی از Array.from استفاده میکنی، میتونی یه تابع هم بهش بدی که روی هر کدوم از آیتم‌های اون لیست اجرا بشه. این تابع میتونه برای هر عنصر یه عملیات خاص انجام بده. حالا، گاهی وقتا میخوای توی اون تابع از یه شیء خاصی (که با this بهش اشاره میکنی) استفاده کنی.

فرض کن یه لیست از اعداد داری و میخوای همه‌ اون‌ها رو دو برابر کنی. این‌جا یه شیء داریم که عدد رو دو برابر میکنه:

const doubler = {
    factor: 2,
    multiply(num) {
        return num * this.factor;
    }
};

این شیء یه متد داره به نام multiply که یه عدد رو دو برابر میکنه (با استفاده از this.factor که همون عدد 2 است).

حالا بیایم اینو روی یه لیست از اعداد با Array.from اجرا کنیم:

const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = Array.from(numbers, doubler.multiply, doubler);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]

این‌جا ما Array.from رو صدا میزنیم و بهش میگیم که برای هر عدد، تابع multiply رو اجرا کنه. this همون شیء doubler هست، بنابراین تابع multiply میدونه که از this.factor (که 2 هست) استفاده کنه تا عددها رو دو برابر کنه.

محسن موحد ۱۱ شهریور ۱۴۰۳، ۰۱:۲۲