"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > How to Merge Arrays of Objects Based on a Unique Property in JavaScript?

How to Merge Arrays of Objects Based on a Unique Property in JavaScript?

تم النشر بتاريخ 2024-11-08
تصفح:378

How to Merge Arrays of Objects Based on a Unique Property in JavaScript?

Combining Arrays Based on Unique Items in JavaScript

Merging arrays can be a common task in JavaScript, especially when needing to combine data based on specific criteria. In this particular instance, the goal is to combine an array of objects based on a shared lineNumber property, resulting in an array of objects with a lineNumber and an array of corresponding cellWidth values.

To achieve this, the following code snippet can be used:

var newCells = [];
for (var i = 0; i < totalCells.length; i++) {
    var lineNumber = totalCells[i].lineNumber;
    if (!newCells[lineNumber]) { // Add new object to result
        newCells[lineNumber] = {
            lineNumber: lineNumber,
            cellWidth: []
        };
    }
    // Add this cellWidth to object
    newcells[lineNumber].cellWidth.push(totalCells[i].cellWidth);
}

Breaking down the code:

  • A new array is initialized as newCells to store the merged results.
  • The code iterates through the totalCells array using a for loop.
  • For each object in totalCells, the lineNumber is extracted.
  • An if statement is used to check if an object with the current lineNumber already exists in newCells. If it does not exist, a new object with the lineNumber and an empty cellWidth array is added to newCells.
  • The cellWidth value of the current totalCells object is pushed to the cellWidth array of the matching object in newCells.

By following these steps, the code combines the totalCells array into newCells, where each object has a unique lineNumber and an array of cellWidth values corresponding to that lineNumber.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3