علی پالوانه
علی پالوانه
خواندن ۲ دقیقه·۲ سال پیش

چگونه یک آرایه از آبجکت‌هارا به یک آبجکت تبدیل کنیم؟

آرایه چیه؟

آرایه ها یک متغیر مخصوص هستن که میتونن چندین مقدار رو توی خودشون ذخیره کنن و به شما لیستی از آیتم‌های ذخیره شده رو بده.

ساختارش به چه شکله ؟

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 داشتیم و توی خروجی فقط آخرین سیب رو برای ما جایگزین کرد.

برنامه نویسیفرانت اندکدنویسیجاوااسکریپتبک اند
که آفتاب بیاید...
شاید از این پست‌ها خوشتان بیاید