首頁 >web前端 >js教程 >如何在 JavaScript 中根據唯一項組合數組?

如何在 JavaScript 中根據唯一項組合數組?

DDD
DDD原創
2024-10-29 02:23:02311瀏覽

How to Combine Arrays Based on Unique Items in JavaScript?

在JavaScript 中按唯一項組合數組

在JavaScript 中,您可以使用物件屬性和循環的組合基於唯一項組合數組

解決方案:

先建立一個空數組newCells 來儲存組合結果。然後迭代原始數組中的每個元素:

<code class="js">for (var i = 0; i < totalCells.length; i++) {
    var lineNumber = totalCells[i].lineNumber;
    // Check if an object for the current line number already exists in newCells
    if (!newCells[lineNumber]) {
        // Create a new object with the line number and an empty array to store cell widths
        newCells[lineNumber] = {
            lineNumber: lineNumber,
            cellWidth: []
        };
    }
    // Add the current cellWidth to the array in the new object
    newCells[lineNumber].cellWidth.push(totalCells[i].cellWidth);
}</code>

此程式碼將迭代totalCells數組並檢查newCells中是否已存在具有當前行號的物件。如果沒有,它將建立一個帶有行號的新物件並初始化一個空的 cellWidth 陣列。然後它將目前儲存格寬度推入 cellWidth 陣列。

產生的 newCells 陣列將包含具有唯一 lineNumber 屬性的物件以及基於行號組合的 cellWidth 值陣列。

示例輸出:

將上述解決方案應用於提供的示例輸入:

<code class="js">totalCells = [
    { cellwidth: 15.552999999999999, lineNumber: 1 },
    { cellwidth: 14, lineNumber: 2 },
    { cellwidth: 14.552999999999999, lineNumber: 2 },
    { cellwidth: 14, lineNumber: 1 }
];

// Code to combine arrays based on unique line numbers
// ...

// Output
console.log(newCells);</code>

將輸出:

<code class="js">[
    {
        lineNumber: 1,
        cellWidth: [15.552999999999999, 14],
    },
    {
        lineNumber: 2,
        cellWidth: [14, 14.552999999999999],
    },
]</code>

以上是如何在 JavaScript 中根據唯一項組合數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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