gpt4 book ai didi

javascript - 使用reduce 添加数组中的数字对 (javascript)

转载 作者:行者123 更新时间:2023-11-28 18:17:27 27 4
gpt4 key购买 nike

给定一个二维数组,我想将前一个内部数组的最后一个数字添加到下一个内部数组的第一个数字中。

我设法做到了:

var output= [[1,2,3],[4,5,6],[7,8,9],[1,2,3]] //this becomes...
output = [3,4,6,7,9,1] (edited typo)

我现在想添加这些对以返回此数组:

output = [9, 11, 10]

到目前为止,这就是我所拥有的,它返回 [3,6,4,7,9,1]。我想看看如何使用reduce 来实现这一点,但也对for 循环如何完成同样的事情感兴趣。

var output= [[1,2,3],[4,5,6],[7,8,9],[1,2,3]]
output = output
.reduce((newArr,currArr)=>{
newArr.push(currArr[0],currArr[currArr.length-1]) //[1,3,4,6,7,9]
return newArr
},[])
output.shift()
output.pop()
return output

最佳答案

可以使用reduce的索引参数

let output= [[1,2,3],[4,5,6],[7,8,9],[1,2,3]]; 
output = output
.reduce((newArr, currArr, i, origArr) => {
if (i > 0) {
let prevArr = origArr[i - 1];
newArr.push(currArr[0] + prevArr[prevArr.length - 1]);
}
return newArr
}, [])
console.log(output)

关于javascript - 使用reduce 添加数组中的数字对 (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40565455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com