首頁 >web前端 >js教程 >如何在 JavaScript 中基於唯一屬性合併物件陣列?

如何在 JavaScript 中基於唯一屬性合併物件陣列?

Linda Hamilton
Linda Hamilton原創
2024-10-31 18:15:02918瀏覽

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

在JavaScript 中基於唯一項組合數組

合併數組可能是JavaScript 中的常見任務,特別是當需要基於以下任務項組合資料時具體標準。在此特定實例中,目標是基於共用 lineNumber 屬性組合物件數組,從而產生具有 lineNumber 的物件數組和對應 cellWidth 值的數組。

要實現此目的,請執行以下操作可以使用程式碼片段:

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);
}

程式碼分解:

  • 初始化一個新陣列為newCells來儲存合併結果。
  • 程式碼使用for循環遍歷totalCells數組。
  • 對於totalCells中的每個對象,提取行號。
  • if語句用於檢查具有當前行號的物件是否已存在於新細胞中。如果不存在,則將一個帶有 lineNumber 和空 cellWidth 陣列的新物件新增至 newCells 中。
  • 目前totalCells 物件的 cellWidth 值被推送到 newCells 中符合物件的 cellWidth 陣列中。

依照以下步驟,程式碼將totalCells 數合併到newCells 中,其中每個物件都有一個唯一的lineNumber 和與該lineNumber 對應的cellWidth 值陣列。

以上是如何在 JavaScript 中基於唯一屬性合併物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn