Объекты 21/30 - не получается

var getStatistics = function (players) {
var allgoals = 0; - объявляю переменную, которая будет хранить кол-во общих голов.
for (var i = 0; i <= players.length; i++) { - запускаю цикл по пересчету всех свойств в массиве.
allgoals += players[i].goals; - считаю общее кол-во голов.
players[i].coefficient = players[i].goals * 2 + players[i].passes; - добавляю объекту еще одно свойство, а также высчитываю его.
}

for (var j = 0; j <= players.length; j++) { - запускаю следующий цикл.
players[j].percent = allgoals / 100 * players[j].goals; - добавляю новое свойство объекта и получаю значение.
}

return players; - возвращаю функцию.
};

getStatistics(); - запускаю функцию.

Добрый день! Я новичок и который день не получается решить данную задачу. Помогите пожалуйста с объяснениями, что делаю не так. Буду очень благодарен, спасибо!
Выдает ошибку: TypeError : Cannot read property ‘length’ of undefined - как я понял, что якобы не работает массив.

Вопрос решил следующим образом:

var players = []; - задал пустой массив
var getStatistics = function (players) {
var allgoals = 0;
for (var i = 0; i < players.length; i++) {
allgoals += players[i].goals;
players[i].coefficient = players[i].goals * 2 + players[i].passes;
};

for (var i = 0; i < players.length; i++) {
players[i].percent = Math.round(players[i].goals / (allgoals / 100)); -скорректировал, было неправильно
};

return players;
};

getStatistics (players);