البرمجة

دمج كائنين JSON بناءً على قيمة مشتركة

بالتأكيد، يمكنك دمج الكائنين obja و objb باستخدام القيمة المشتركة value1 بواسطة تحديد الكائن المناسب في objb باستخدام namekey1. هناك عدة طرق للقيام بذلك في جافاسكربت. إليك طريقة باستخدام reduce:

javascript
let obja = [{ key1: 'value1', a: 1, b: 2 }]; let objb = [{ namekey1: 'value1', d: 3, c: 4 }]; let objc = obja.reduce((acc, curr) => { let match = objb.find(item => item.namekey1 === curr.key1); if (match) { let mergedObj = { ...curr, ...match }; acc.push(mergedObj); } return acc; }, []); console.log(objc);

هذا الكود يستخدم reduce لدمج obja مع objb بناءً على القيم المشتركة، وينتج الكائن المطلوب objc.

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

بالطبع! في هذا الكود، نقوم بالمرور على obja باستخدام reduce، ونبحث في objb باستخدام find للعثور على الكائن الذي يحتوي على القيمة المشتركة value1 في namekey1. إذا تم العثور على تطابق، نقوم بدمج الكائنين curr و match باستخدام spread operator (...) لإنشاء كائن مدمج mergedObj، ثم نضيفه إلى الكائن الناتج acc. في النهاية، يتم إرجاع acc كنتيجة لعملية reduce، والتي تكون قائمة بالكائنات المدمجة بناءً على القيم المشتركة.

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

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

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر