我有一个函数,它遍历一个对象数组并返回一个模板文字,它获取一个属性值(名称)和一个作为函数方法的属性值(这是 .move / 他们将采取多少步骤) .move方法使用 math.random 选择随机数量的步骤并返回该值。但是,在某些对象中,移动属性被定义为整数,例如 1 或 2,而不是随机数。
有没有办法更改我的fitnessTest函数,以便它同时接受.move()和.move?
我尝试在我的 while 语句中使用 if else 语句说
while (steps <= 20) {
if (typeof arrayObject == function) {
steps += arrayObject[i].move();
turns++;
} else
steps += arrayObject[i].move;
turns++;
它返回将 .move 值正确定义为整数的对象,但不会为具有 .move() 的对象返回随机数。
function fitnessTest(arrayObject){
let turnsArray = [];
for (i = 0; i < arrayObject.length; i++){
let steps = 0;
let turns = 0;
while (steps <= 20){
steps += arrayObject[i].move();
turns++;
} turnsArray.push(`${arrayObject[i].name} took ${turns} turns to take 20 steps.` );
} return turnsArray;
}
现在,该函数将遍历一个对象数组,这些对象.move()作为一个函数生成一个随机数并返回正确的字符串,但是将 .move 设置为整数的对象只会给我一个
类型错误arrayObject[i].move不是函数
Qyouu
守着星空守着你
斯蒂芬大帝
相关分类