把一个数组,按固定间隔生成新数组;把新数组对应位置的数叠加

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];
});
发布了23 篇原创文章 · 获赞 0 · 访问量 2661

猜你喜欢

转载自blog.csdn.net/xy405580364/article/details/103068872