Я столкнулся со следующей проблемой: метод every
в моей функции возвращает undefined
, поэтому функция ableToMoveAll
возвращается независимо от того, что.Пожалуйста, посмотрите на следующий фрагмент кода и помогите мне с ним:
var SQUADS = [];
function MilitaryUnit(name, maxHealth, maxEnergy){
this.squadName = name;
this.squadMaxHealth = maxHealth;
this.squadCurrentHealth = maxHealth;
this.squadMaxEnergy = maxEnergy;
this.squadCurrentEnergy = maxEnergy;
this.travel = function(dist){
if (dist > this.squadCurrentEnergy) {
alert("You can't go this far");
}
this.squadCurrentEnergy -= dist;
}
this.ableToMove = function(dist){
return this.squadCurrentEnergy >= dist;
}
}
var squadOfHorses = new MilitaryUnit("Horses", 50, 100);
SQUADS.push(squadOfHorses);
var squadOfSoldiers = new MilitaryUnit("Soldiers", 40, 50);
SQUADS.push(squadOfSoldiers);
var squadOfMachines = new MilitaryUnit("Machines", 100, 50);
SQUADS.push(squadOfMachines);
Array.prototype.ableToMoveAll = function(dist){
return this.every(function(el){
el.ableToMove(dist)
});
}
Заранее спасибо)