javascript - 如何在javascript中组合数组

标签 javascript arrays

您好,我想根据数组中的唯一项合并一个数组。

我拥有的对象

totalCells = []

在这个 totalCells 数组中,我有几个这样的对象

totalCells = [
  {
    cellwidth: 15.552999999999999,
    lineNumber: 1
  }, 
  {
    cellwidth: 14,
    lineNumber: 2
  },
  {
    cellwidth: 14.552999999999999,
    lineNumber: 2
  }, 
  {
    cellwidth: 14,
    lineNumber: 1
  }
];

现在我想创建一个数组,其中我有基于 lineNumber 的数组组合。

就像我有一个带有 lineNumber 属性和 cellWidth 集合的对象。我可以这样做吗?

我可以遍历每一行并检查行号是否相同,然后推送该单元格宽度。有什么办法可以解决吗?

我正在尝试获得这样的输出。

totalCells = [
{
  lineNumber : 1,
  cells : [15,16,14]
},
{
  lineNumber : 2,
  cells : [17,18,14]
}
]

最佳答案

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

关于javascript - 如何在javascript中组合数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57762749/

相关文章:

c - 在C中访问字符串数组的第一个元素

javascript - Umbraco 添加来自页面 @nodename 的链接作为表单上的文本输入值

javascript - 将两个图表合并到一个 div - d3/css

c++ - 如何在运行时指定数组的维数和?

arrays - 如何使我的 ruby​​ remove_duplicates(nums) 算法更高效

ios - 从两个不同的数组中选择随机图像

使用 for 循环与结构指针复制数组元素

javascript - Three.js 粒子系统每个粒子都有不同的纹理

javascript - 禁用拖放

javascript - NotesUIWorkspace.editdocument 的等效项