1.把一个数组,按固定间隔生成新数组
let a = [58,0,0, 0,3,0, 0,0,7];
let b = [];
for(let i = 0; i < a.length; i+=3) {
b.push(a.slice(i,i+3));
}
// b: [ [58,0,0], [0,3,0], [0,0,7] ]
2.把几个数组对应位置的数叠加生成新数组
let b = [ [58,0,0], [0,3,0], [0,0,7] ];
let c = [0,0,0];
for(let j = 0; j < b.length; j++){
c = c.map((v,i)=>b[j][i]+v)
}
//一次循环 c = [0,0,0] + [57,0,0] //[57,0,0]
//二次循环 c = [57,0,0] + [0,3,0] //[57,3,0]
//三次循环 c = [57,3,0] + [0,0,7] //[57,3,7]
//最终c数组即为 b中3个数组对应位置数字叠加后的数组
简单例子:
let a = [1,2,3]
let b = [1,2,3]
let c = a.map((v,i)=>b[i]+v) //[2,4,6]
let d = a.map(function(v, i) { //[2,4,6]
return v + b[i];
});