首页 >web前端 >js教程 >如何在 JavaScript 中根据唯一项组合数组?

如何在 JavaScript 中根据唯一项组合数组?

DDD
DDD原创
2024-10-29 02:23:02282浏览

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