Javascript 如何将数组与值和合并
对不起,这是基本的东西,但我不知道java脚本数组 我有一个索引数相同的简单数组和Javascript 如何将数组与值和合并,javascript,arrays,Javascript,Arrays,对不起,这是基本的东西,但我不知道java脚本数组 我有一个索引数相同的简单数组和n数组数,如果索引没有值,它将是null Array [ 0: Array [ null, 10222, 10222, null,9999 ] 1: Array [ 1870963, 1845801, 1830263, null, null ] 2: Array [ 1870963, 1845801, 1830263, null, null ] n:
n
数组数,如果索引没有值,它将是null
Array [
0: Array [ null, 10222, 10222, null,9999 ]
1: Array [ 1870963, 1845801, 1830263, null, null ]
2: Array [ 1870963, 1845801, 1830263, null, null ]
n: Array [ n, n, n, n, n ]
];
所以我需要在一个数组中输入和,如下所示
Array [3741926,3701824,3670748,0,9999];
只需将sum和转换为单个数组。使用迭代数组,并使用以下方法对每列求和:
var-arr=[
[null,10222,10222,null,9999],
[1870963184580119830263,空,空],
[1870963184580119830263,空,空],
];
var result=arr[0]。映射(函数(a,i){
返回arr.reduce(函数(s,n){
返回s+n[i];
}, 0);
});
控制台日志(结果)
您可以使用array.prototype.map
和array.prototype.reduce
:
var-arr=[
[null,10222,10222,null,9999],
[1870963184580119830263,空,空],
[1870963184580119830263,空,空]
];
var结果=arr[0].map((u,i)=>arr.reduce((m,e)=>m+e[i],0));
控制台日志(结果)
您可以像这样使用reduce
:
const a=[
[null,10222,10222,null,9999],
[1870963184580119830263,空,空],
[1870963184580119830263,空,空]
];
console.log(a.reduce((acc,cur)=>acc.map((x,i)=>x+cur[i]))
您可以使用array#reduce
和array#foreach
var arr=[[null,10222,10222,null,9999],[1870963,1845801,1830263,null,null],[1870963,1845801,1830263,null,null],[null,null,null,null];
var结果=arr.REDUCT((r,a,j)=>{
a、 forEach((v,i)=>{
r[i]=(r[i]| | 0)+(v | | 0);
});
返回r;
},[]);
控制台日志(结果)代码>查看OP想要的输出。它是每个数组n个索引的总和。@AnkitSoni我已经修复了map()
方法中的row
变量的误导性。它不会保留“行”,但保留第一个数组中的元素。@EganWolf已修复