آرایه ها یک متغیر مخصوص هستن که میتونن چندین مقدار رو توی خودشون ذخیره کنن و به شما لیستی از آیتمهای ذخیره شده رو بده.
ساختارش به چه شکله ؟
const array = [ '?' , '?' , '?' ];
آبجکت ها هم لیستی از دادهها رو به ما میدن که به صورت جفتهای key:value ذخیره میشن که key یه اسم و value هم یه مقدار برای اسم ماست.
ساختارش به چه شکله ؟
const object = { name: 'pride', type:'car', price:1000000000, }
خب تعریف اضافه کافیه بریم سراغ کار خودمون ?
اگه یه آرایه داشته باشیم که توش کلی آبجکت باشه! چطوری میتونیم اون آرایه با آبجکت های داخلش رو به یک آبجکت واحد تبدیل کنیم؟
سریعترین راه با استفاده از متد ()Object.assign به همراه سپرید اپراتورها یا سه نقطه خودمون (...)
دقت کنید ها برای ()Object.assign از O بزرگ استفاده بشه و این ویژگی توی ES6 اضافه شده
این متد رو هرجا استفاده کنیم از شی منبع یه کپی میگیره و توی یه شی جدید به ما برمیگردونه
حالا بریم توضحیات رو توی کد ببینیم ?
//define our array with many objects const fruits = [{ apple: '?' }, { banana: '?' }, { cherry: '?' }]; //convert array of objects to single object const allFruits = Object.assign({}, ...fruits); //show our result console.log(allFruits); //output : { cherry: '?', banana: '?', apple: '?' }
⚠️ نکته ای که نباید فراموش کنید اینه که اگر بیش از یک آبجکت با properties یکسان داشته باشین (چندتا آبجکتت پراپرتی یکی داشته باشن) آخرین مقدار جایگزین میشه و فقط آخرین آبجکت نشون داده میشه.
بریم مثالش رو ببینیم تا راحت تر منتقل بشه (به دوتا سیب توجه کنید توی آرایه) ?
//define our array const fruits = [{ apple: '?' }, { banana: '?' }, { cherry: '?' }, { apple: '?' }]; //convert array of objects to object const allFruits = Object.assign({}, ...fruits); //show our result console.log(allFruits); //output : { apple: '?', banana: '?', cherry: '?' };
توی مثال با سیب قرمز توی یه آبجکت با property به اسم apple داشتیم و توی آخرین آبجکت هم یه سیب سبز بازم با همون property دقیقا apple داشتیم و توی خروجی فقط آخرین سیب رو برای ما جایگزین کرد.