将数字转换为单词,但不能用重复的数字转换
我正在尝试通过 JavaScript 将数字转换为单词。我的代码:
function NumbersToWords(number) {
var numbersArray = [1, 2, 3, 4, 5];
var wordsArray = ["one", "two", "three", "four", "five"];
for (let i = 0; i <= numbersArray.length; i++) {
number = number.toString().replace(numbersArray[i], wordsArray[i]);
};
return number;
};
console.log(NumbersToWords(122));
当我转换“122”时,返回“onetwo2”而不是“onetwotwo”。我的代码有问题吗?谢谢
回答
替换,替换字符串的第一次出现。你不需要 '<=' 顺便说一句,'<' 就足够了。
function NumbersToWords(number) {
var numbersArray = [1, 2, 3, 4, 5];
var wordsArray = ["one", "two", "three", "four", "five"];
for (let i = 0; i < numbersArray.length; i++) {
number = number.toString().replaceAll(numbersArray[i], wordsArray[i]);
}
return number;
}
console.log(NumbersToWords(122));
console.log(NumbersToWords(1224));