当用户输入数字时,如何在JavaScript中将数字转换为字符串

当用户输入数字时,如何在JavaScript中将数字转换为字符串,javascript,Javascript,我需要这方面的帮助,我有一个数字数组(0-9)。我提供了一个提示,让用户输入一个数字,这样当用户输入1时,它会打印出一个字符串“1”,如果用户输入34,它会打印出三个四个的字符串 let num=prompt(“输入数字”); 让foo=num.split(“”).map(item=>parseInt(item,10)); 设arr=[“零”、“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”]; log(foo.reduce((a,c)=>a+“”+arr[c],“”)您

我需要这方面的帮助,我有一个数字数组(0-9)。我提供了一个提示,让用户输入一个数字,这样当用户输入1时,它会打印出一个字符串“1”,如果用户输入34,它会打印出三个四个的字符串

let num=prompt(“输入数字”);
让foo=num.split(“”).map(item=>parseInt(item,10));
设arr=[“零”、“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”];

log(foo.reduce((a,c)=>a+“”+arr[c],“”)您可以将数字转换为字符串,并将对象用作字典:

const num=prompt(“输入数字”);
常量dict={
“0”:“0”,
“1”:“一”,
"二":"二",,
"三":"三",,
"四":"四",,
"五":"五",,
"六":"六",,
“七”:“七”,
"八":"八",,
“9”:“9”
}
const res=`${num}`.split(“”).map(e=>dict[e]).join(“”);

控制台日志(res)我不认为这里真的需要
reducer
。这是一个简单的逻辑,也可以使用简单的循环来实现

let num=prompt(“输入数字”);
让foo=num.split(“”).map(item=>parseInt(item,10));
设arr=[“零”、“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”];
var inputStr='';
foo.forEach((num)=>{
inputStr+=arr[num]+'';
});
console.log(inputStr)您可以使用它来获取单个数字(字符串作为iterable)并映射单词(如果存在)。如果不是,则取值

稍后用空格连接数组

var numbers=提示(“输入数字”),
数组=[“零”、“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”];

log(Array.from(numbers,i=>Array[i]||i).join(“”))是否需要检查字符串是否为数字

let num = prompt("enter a number");
let foo = num.split("").map(item => parseInt(item, 10));
let fig = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let arr = [
  "zero",
  "one",
  "two",
  "three",
  "four",
  "five",
  "six",
  "seven",
  "eight",
  "nine"
];
fig[0] = arr[0];
fig[1] = arr[1];
fig[2] = arr[2];
// let filteredNum = foo.filter(number => fig.includes(number));
// console.log(filteredNum);
// console.log(fig[0]);
// console.log(fig[1]);
// console.log(fig[2]);
代码:
console.log(提示(“输入一个数字”).split`.map(=>~~).reduce((uu,i)=>`${{}${“零一二三四五六七八九”。split`[i]},`)谢谢,有没有办法检查用户是否输入了字母或非数字(特殊字符),应该会显示错误?您可以检查
isNaN()
parseInt()
,然后先检查NaN。如果它是NaN,那么它无效,然后返回else,然后继续这样的逻辑:
If(isNaN(foo)){}
@Perorary-这一个涵盖了所有的情况-
If(isNaN(parseInt(foo,10)){}
我有点搞不清楚'10'在parseInt()中做什么,你能解释一下吗,请?我决定在字符串中添加“-”,但我不希望它显示在最后一个字符串之后。这里是JS fiddle@Peoray别在这里要求任何东西。
const num = prompt("enter a number");

const arr = [ "zero", "one", "two", "three", "four",
            "five", "six", "seven", "eight", "nine" ];

let foo = [];

if(!isNaN(num)) {
  foo = num.split('').map(n => arr[n]).join(' ');
}

console.log(foo);