繁体   English   中英

如何将计数推入 1D 数组以使其成为 2D

[英]how to push a count into 1D array to make it 2D

我想将一维数组创建为二维。

我有一个一维数组 arr1

现在我将这个一维数组arr1的元素搜索到另一个包含搜索变量的数组arr2中。 我能够成功地从 arr2 计算 arr1 的出现,但无法将计数存储在 arr1 中。

arr2 = [a,a,a,a,b,d,e,f,f,f,g,g....]

var arr1 = ["a","b","c".......]

  for (i =0; i<shrink_days.length; i++){
    var count = arr2.flat().reduce(function(n, val) {
    return n + (val === arr1[i]);
}, 0);
  //arr1[i][1].push(count)
}

我的arr1[i].push(count)给出错误“arr1[i][1].push 不是函数”。

我想要实现的是: arr1 = [[a,4],[b,1],[c,0],[d,1],[e,1],[f,3],[g,2]......]

您可以将第一个数组的元素替换为包含原始元素和计数的新数组:

arr1[i] = [arr1[i], count]

可以说,如果您关心不变性,您应该保持arr1不变并创建具有该结构的第三个数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM