Задача с массивом.
Здравствуйте.
Помогите разобраться со следующей проблемой, не знаю как решить задачу ниже. Известна масса 10 людей. Людей, масса которых больше 100кг условно назовем "большими" . Посчитать среднюю массу "больших" и остальных людей. Для примера: window.onload = function() { var masa = [107,89,102,108,94,72,70,84,112,73]; var j; var big = new Array(); for (var i in masa) { if (masa[i]>100) { big[j] = /* ????????????? */; document.getElementById("div").innerHTML="Средняя масса больших людей = "+ /* ????????????? */ ; } else { document.getElementById("div1").innerHTML="Средняя масса людей = " + /* ????????????? */ ; } } } |
failure,
1) в 11й строке чему будет равно j? 2) как по-Вашему считается средняя масса? |
Цитата:
2 - сумма значений / количество , в коде ошибка. |
failure,
var mass = [107,89,102,108,94,72,70,84,112,73]; var nBig = 0, mBig = 0, aBig = 0; var nNorm = 0, mNorm = 0, aNorm = 0; for (var i = 0; i < mass.length; i++) { if (mass[i] > 100) { nBig++; mBig += mass[i]; } else { nNorm++; mNorm += mass[i]; } } aBig = Math.round(mBig / nBig); aNorm = Math.round(mNorm / nNorm); alert('Ср.масса больших: ' + aBig + '\nСр.масса обычных: ' + aNorm); |
Rise,
Благодарю, разобрался. |
var mass = [107,89,102,108,94,72,70,84,112,73]; var bigmass = mass.filter(function(x) {return x > 100}); var normmass = mass.filter(function(x) {return x <=100}); function average(arr) { return arr.reduce(function(x, y) {return x + y}, 0) / arr.length } console.log(average(bigmass)); console.log(average(normmass)); |
BETEPAH,
Спасибо) Интересное решение. |
Часовой пояс GMT +3, время: 01:27. |