我正在尝试解决Pokemon Damage Calculator kata,但我的代码找不到问题
这是我的代码:
function calculateDamage(yourType, opponentType, attack, defense) {
let damage = 0;
const effArr = [
["fire", "grass", 2],
["grass", "fire", 0.5],
["fire", "water", 0.5],
["water", "fire", 2],
["fire", "electric", 1],
["water", "grass", 0.5],
["grass", "water", 2],
["water", "electric", 0.5],
["electric", "water", 2]
["grass", "electric", 1]
];
for (i = 0; damage == 0 && i < effArr.length; i++) {
// console.log(effArr[i].indexOf(yourType) == 0, effArr[i].indexOf(opponentType) === 1, damage)
if (effArr[i].indexOf(yourType) == 0 && effArr[i].indexOf(opponentType) == 1) {
damage = (50 * effArr[i][2] * attack / defense)
}
}
return damage;
}
这是预期的结果:
calculateDamage("fire", "water", 100, 100) => 25
calculateDamage("grass", "water", 100, 100) => 100
calculateDamage("electric", "fire", 100, 100) => 50
calculateDamage("grass", "electric", 57, 19) => 150
但是我却得到:
calculateDamage("fire", "water", 100, 100) => true false 0
calculateDamage("grass", "water", 100, 100) => false false 0
calculateDamage("electric", "fire", 100, 100) => true true 0
calculateDamage("grass", "electric", 57, 19) => false false 0
yourType
和[ C0]作为opponentType
以获得类型有效性