[英]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.