如何用JavaScript将数字的最后一位转换为英文单词
解决数字最后一位转英文单词的问题
嘿,你已经搞定了获取数字最后一位的核心逻辑啦!接下来把数字转换成对应的英文单词其实很简单,最直观且易维护的方法是用对象映射——把0-9的数字和对应的英文单词做成键值对,查找起来高效又清晰。
另外提一句,你原代码里的var number = englishName;变量名有点容易混淆,建议改成更明确的名字(比如num),避免和后续逻辑产生歧义~
完整优化后的代码
function main(num) { // 创建0-9对应的英文单词映射表 const numberToWord = { 0: 'zero', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five', 6: 'six', 7: 'seven', 8: 'eight', 9: 'nine' }; // 获取数字的最后一位(兼容数字/字符串类型的输入) const lastDigit = +num.toString().split('').pop(); // 通过映射表拿到对应的英文单词 const lastWord = numberToWord[lastDigit]; console.log(lastWord); } // 测试示例 main(123); // 输出 'three' main('45'); // 输出 'five' main(7); // 输出 'seven'
关键步骤解释
- 创建映射对象:把0到9每个数字对应的英文单词存在对象中,用数字作为键、英文单词作为值,后续直接通过数字就能快速取出对应单词。
- 兼容多种输入类型:不管传入的是数字还是字符串形式的数字,
toString()都能处理,拆分后取最后一位再转成数字类型,确保能匹配映射表的键。 - 取出并输出结果:用最后一位数字作为键,从映射对象中获取对应的英文单词,直接输出即可。
内容的提问来源于stack exchange,提问作者KIJIRI
相关产品推荐
相关产品推荐

