両方の配列を組み合わせた平均である数値が 1 つだけ必要な場合は、これを試してください。
var one = [0,20,30,40];
var two = [43,20,10,50];
var i, j;
var average = 0;
for(i = 0; i < one.length; i++){
average += one[i];
}
for(j = 0; j < two.length; j++){ // (two arrays for flexibility.)
average += two[j];
}
console.log(average /= (i+j));
// 26.625
特定のインデックスでの配列の平均が必要な場合は、これを試してください。
var one = [0,20,30,40];
var two = [43,20,10,50];
var i;
var average = [];
for(i = 0; i < one.length; i++){
average.push((one[i] + two[i]) / 2);
}
console.log(average);
// [21.5, 20, 20, 45]
編集:
あなたの編集を見る限り、 に追加される平均パーセンテージが になりone
、 が得られますtwo
。これはうまくいくはずです:
var i, n = 0;
var average = 0;
var one = [0,20,30,40] ;
var two = [0,60,70,120] ;
for(i = 0; i < one.length; i++){
if(one[i] != 0){
average += two[i] / one[i];
n++;
}
}
average = (average / n - 1)*100;