给定一个整数数组。例如[1,2,2,2,5,7]。我想输出任意组连续的相同数字及其和。输出应为[1,6,5,7]。关于如何执行此操作的任何想法?
您可以Array.prototype.reduce()
与临时对象一起使用。
var array = [1, 2, 2, 2, 5, 7],
result = array.reduce(function (r, a) {
if (r.last === a) {
r.array[r.array.length - 1] += a;
} else {
r.array.push(a);
r.last = a;
}
return r;
}, { array: [], last: null }).array;
document.write('<pre>' + JSON.stringify(result,0,4) + '</pre>');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2158 次 |
最近记录: |