JavaScript中连续数字的总和
假设我们必须编写一个函数,该函数接受一个数组并返回另一个数组,该数组中连续的相似数字加在一起。
例如-
const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2];
输出应为-
[1, 15, 16, 9, 1, 8, 2]
所有连续的5加起来等于15,然后2个连续的8加起来就是16,类似的4加起来就是8。
因此,让我们为该函数编写代码。我们将在这里使用Array.prototype.reduce()方法来减少原始数组并同时构造一个新数组。
示例
const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2];
const sumConsecutive = (array) => {
return array.reduce((acc, val) => {
if (acc.last === val) {
acc.arr[acc.arr.length - 1] += val;
} else {
acc.arr.push(val);
acc.last = val;
}
return acc;
}, { arr: [], last: undefined }).arr;
};
console.log(sumConsecutive(array));输出结果
控制台中的输出将为-
[ 1, 15, 16, 9, 1, 8, 2 ]
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话