Это получается у вас вложенный цикл будет работать i раз, выполняя одно и то же, за исключением обновленного значения sumGoals и пересчета percent?
Я сделал пока так, но и это решение кажется не самым оптимальным.
Summary
var getStatistics = function (players) {
// Считаем сумму всех голов
var allGoals = 0;
for (var i = 0; i < players.length; i++) {
allGoals += players[i].goals;
}
// Добавляем новые свойства
for (var i = 0; i < players.length; i++) {
players[i].coefficient = players[i].goals * 2 + players[i].passes;
players[i].percent = Math.round((players[i].goals * 100) / allGoals);
}
return players;
};
Похоже на то. Отправьте код текстом, обязательно форматируйте его с помощью кнопки </> в редакторе сообщений и укажите версию системы и браузера, в котором проходите задание.
Ребят, кто-то может подсказать почему мой код не проходит проверку? Если запускаю сам, с теми же данными, то результаты такие же, как и при проверке системой.
Заранее спасибо за ответ!
var firstPlayer = {
name: 'Васька',
goals: 5,
passes: 5
};
var secondPlayer = {
name: 'Байт',
goals: 12,
passes: 2
};
var thirdPlayer = {
name: 'Снежок',
goals: 2,
passes: 7
};
var soccerPlayers = [firstPlayer, secondPlayer, thirdPlayer];
var getStatistics = function (players) {
getCoefficient(soccerPlayers);
getPercent(soccerPlayers);
return players;
};
var getCoefficient = function(players) {
for (var i = 0; i < players.length; i++){
players[i].coefficient = (players[i].goals * 2) + players[i].passes;
}
}
var getPercent = function(players) {
var goalsSum = 0;
for (var i = 0; i < players.length; i++) {
goalsSum += players[i].goals;
}
for (var i = 0; i < players.length; i++) {
players[i].percent = Math.round((players[i].goals * 100) / goalsSum);
}
}
getStatistics(soccerPlayers);
или я дурак , или лыжи не едут? Не понимаю почему мой код не проходит проверку??? ведь всё правильно работает) шо за ???
var getStatistics = function (players) {
Код
var getStatistics = function (players) {
var sumGoals = 0;
for (var j = 0; j < players.length; j++) {
sumGoals += players[j].goals;
}
for (var i = 0; i < players.length; i++) {
players[i].coefficient = players[i].goals * 2 + players[i].passes;
players[i].precent = Math.round(players[i].goals / sumGoals * 100);
}
return players;
};
var soccerPlayers = [firstPlayer, secondPlayer, thirdPlayer];
var getStatistics = function (players) {
var sumGoals = 0;
var thPercent = 0;
for (var i = 0; i < players[i].length; ++i){
sumGoals += players[i].goals;
}
for (var n = 0; n < players.length; ++n){
players[n].coefficient = (players[n].goals * 2) + players[n].passes;
thPercent = players[n].goals * 100 / sumGoals;
players[n].percent = Math.round(thPercent);
return players[n];
}