解决Code Wars 8 kyu Javascript题:定义扑克牌花色函数报错排查
代码错误点
card.split('')返回的是拆分后的字符数组,例如传入Q♦时得到的是['Q', '♦'],数组和字符串做全等比较的结果永远是false,所有判断分支都不会触发,函数只会固定返回spades。- 你没有正确提取花色位:卡牌字符串的固定结构为「点数+花色符号」,花色符号永远位于字符串的最后一位,需要单独取出后再做判断。
修正后代码
function defineSuit(card) { // 提取字符串最后一位的花色符号 const suit = card.slice(-1) if (suit === '♣') { return 'clubs' } else if (suit === '♦') { return 'diamonds' } else if (suit === '♥') { return 'hearts' } else { return 'spades' } }
内容的提问来源于stack exchange,提问作者Ghost6Fire
相关产品推荐
相关产品推荐

