البرمجة

تحويل خصائص الكائنات في JavaScript باستخدام Reduce

بالطبع، يمكن تحقيق ذلك بسهولة باستخدام JavaScript دون الحاجة إلى مكتبات إضافية. سأشرح لك كيفية القيام بذلك باستخدام لغة JavaScript.

لتحقيق هذه العملية، يمكننا استخدام حلقة for...of للمرور على كل عنصر في الجدول الأصلي، ثم نقوم بإنشاء كائن جديد حيث يكون اسم العنصر هو مفتاح الكائن، ويكون القيمة هي الكائن نفسه بدون الخاصية “name”. إليك كيفية تنفيذ ذلك:

javascript
// الجدول الأصلي let arr = []; arr[0] = {name: 'name1', attribute1: 'a1Value1', attribute2: 'a2Value1'}; arr[1] = {name: 'name2', attribute1: 'a1Value2', attribute2: 'a2Value2'}; // الجدول الجديد let arr2 = {}; // مرور على الجدول الأصلي for (const obj of arr) { // إنشاء كائن جديد باستخدام اسم العنصر كمفتاح let newObj = {...obj}; // نستخدم spread operator لننسخ الخصائص delete newObj.name; // حذف الخاصية "name" arr2[obj.name] = newObj; } // عرض الجدول الجديد console.log(arr2);

باستخدام هذا الكود، سيتم إنشاء arr2 بالشكل الذي تريده، حيث يكون لكل اسم في arr مفتاحًا في arr2 وقيمته هي كائن يحتوي على الخصائص الأخرى. يمكنك تكرار هذا النمط مع المزيد من العناصر حسب حاجتك.

المزيد من المعلومات

في هذا السياق، يمكننا التعمق أكثر في المعلومات المتعلقة بتحويل الخصائص في مصفوفة الكائنات وتنظيمها في مصفوفة جديدة بشكل فعّال وفعال.

JavaScript يقدم العديد من الوظائف والميزات التي يمكن استخدامها لتحقيق هذه العملية بشكل أكثر تقدمًا وإتقانًا. على سبيل المثال، يمكن استخدام ميزة reduce لتحويل الجدول الأصلي إلى الجدول الجديد بشكل أنيق وبسيط. إليك كيف يمكن تطبيق ذلك:

javascript
let arr = [ {name: 'name1', attribute1: 'a1Value1', attribute2: 'a2Value1'}, {name: 'name2', attribute1: 'a1Value2', attribute2: 'a2Value2'} ]; let arr2 = arr.reduce((acc, obj) => { // نستخدم spread operator لننسخ الكائن ونحذف الخاصية "name" let newObj = { ...obj }; delete newObj.name; // استخدام اسم العنصر كمفتاح في الجدول الجديد acc[obj.name] = newObj; return acc; }, {}); console.log(arr2);

هذا الكود يستخدم reduce للمرور عبر كل عنصر في الجدول الأصلي وبناء الجدول الجديد. الفائدة من استخدام reduce هي تقديم رمز أكثر أناقة وإمكانية للتحكم في تراكم القيم وتحديثها.

يتيح لك هذا النهج الاستفادة من مزايا JavaScript بشكل أفضل، ويعزز القدرة على فهم وصيانة الشيفرة بشكل أفضل على المدى الطويل.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!