اجازه بدهید در قالب یک مثال توضیح بدهم. فرض کنید آرایه ای از چندین آبجکت دارید - هر آبجکت نماینده یک فرد است. اما شما به id هر فرد نیاز دارید.
// What you have
var officers = [
{ id: 20, name: 'Captain Piett' },
{ id: 24, name: 'General Veers' },
{ id: 56, name: 'Admiral Ozzel' },
{ id: 88, name: 'Commander Jerjerrod' }
];
// What you need
[20, 24, 56, 88]
شیوه های مختلفی برای اینکار وجود دارد. میتوانید یک آرایه خالی تعریف کنید و بعد از .forEach()
، .for(...of)
، و یا .for()
استفاده کنید.
اما بهتر است اینکار را انجام ندهیم.
همانطور که میدانید .forEach()
چیزی return نمیکند. این بدان معناست که شما باید نتایج را درون یک آرایه push کنید. اما چرا باید دو فانکشن داشته باشیم درحالی که میتوانیم با یک فانکشن آن کار را انجام دهیم؟
var results = data.map(formatElement);
سعی کنید بعضی از حلقه های پروژه هایتان را با .map()
، .reduce()
، و .filter()
جایگزین کنید. هم کد کمتری خواهید داشت و هم کدهای خواناتری خواهید داشت.
مطالعه بیشتر: