2016-02-22 5 views
0

Итак, у меня есть массив.Добавление определенных значений массива

var array = ['159','350','317','350','138','163','317','367','352','317']; 

Я хочу пройти через массив и принимать только определенные значения каждый раз, когда цикл выполняется, и помещать их в другой массив. Например. принимая каждый 3-й элемент в массиве, так что ....

var a = 3; 
var colArray = []; 

for (var i = 0; i < a; i++) { 
    colArray[i] = []; 
    for (var k = i; k < array.length; k += a) { 
    colArray[i].push(array[k]); 
    };  
}; 

console.log(colArray); 

.... дал бы это в консоли на первой итерации .....

159, 350, 317, 317 

Все, что работает отлично , но хочу, чтобы я тогда хотел сделать, это добавить значения в каждом массиве colArray. Я не хочу, чтобы в общей сложности каждого массива, но хотите, чтобы первое значение, которое будет добавлено в 0, 2-й до 0 + 1 и так далее, чтобы дать что-то вроде этого ....

159, 509, 826, 1143 

jsFiddle

+0

Почему вы не можете сохранить текущую сумму при нажатии на массив? – charlietfl

ответ

0

Я думаю, что это то, что вы хотите, возможно, лучший способ это сделать, но это сработало для меня.

var array = ['159','350','317','350','138','163','317','367','352','317','159','138']; 

var a = 3; 
    var colArray = []; 
    for (var i = 0; i < a; i++) { 
     colArray[i] = []; 

     for (var k = i; k < array.length; k += a) { 
     if(k<a){ 
     colArray[i].push(Number(array[k])); 
     }else{ 
     colArray[i].push(Number(array[k]) + Number(colArray[i][(k-a-i)/a])); 
     } 
     };  
    }; 

    console.log(colArray); 
Смежные вопросы