将数字转换为单词,但不能用重复的数字转换

dph*_*c23 -1 javascript

我正在尝试通过 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));
Run Code Online (Sandbox Code Playgroud)

当我转换“122”时,返回“onetwo2”而不是“onetwotwo”。我的代码有问题吗?谢谢

Moa*_*taz 5

替换,替换字符串的第一次出现。你不需要 '<=' 顺便说一句,'<' 就足够了。

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));
Run Code Online (Sandbox Code Playgroud)