[Javascript] 一列数组(array)里面有30个数,如何将他们每三个相加,然后输出一个10个数字的数组?

100010101110111010101110001010
2025-06-26 06:01:40
推荐回答(2个)
回答1:

var numArray = '100010101110111010101110001010'.match(/\d{3}/g).map(function(numStr){
    var sum = 0;
    numStr.split('').forEach(function(num){
        sum += +num;
    });
    return sum;
});
console.log( 'supposed result:', numArray);
//Chrome 下执行结果:
supposed result: [1, 1, 2, 2, 3, 1, 2, 2, 1, 1]

回答2:

var arr = [1, 0, 3, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 65];
var tempArr = [];
var k = 0;
for (var i = 0; i < arr.length; i+=3) {
tempArr[k] = arr[i] + arr[i + 1] + arr[i + 2];
k++;
}
for (var j = 0; j < tempArr.length; j++) {
alert(tempArr[j]);
}