在Javascript中将数字转换为数组

4
当我使用提示框输入数字时,我希望它能被转换成一个数字数组。但是,当我尝试使用myNumber = myNumber.split("")时,会返回以下错误信息:

Object 1 has no method 'split'

请您帮助我解决这个问题。

2
你在使用什么来分隔提示中的数字?你无法分割一个数字,你只能分割字符串。 - Ben Taber
为什么在分割后不将其转换为数字? - Ringo
我不知道不能对数字使用split()函数。 - user3127052
4个回答

3

你不能将整数拆分,需要使用字符串数据类型才能使此代码工作!

因此,我建议先将其拆分,然后将其转换为整数,如下:

var numbers = "1, 2, 3";
var eachNumber = numbers.split(",");
/* now parse them or whatso ever */

这将起作用,因为你只是在分割字符串。然后,您将像第一种方法(您的方法)一样解析它。

我应该考虑创建另一个变量,将第一个变量拆分。谢谢Afzaal! - user3127052
是的,你本来可以这样做的!:) 不过,欢迎你。。:) - Afzaal Ahmad Zeeshan

2
var intArray = prompt("...").split(" ").map(Number);

2
你可以通过简单地编写.map(Number)来缩短你的map,试一下吧。 - Paul S.

1
你需要将数字转换为字符串,然后进行拆分。
然后你需要将其转换回整数。
var myNumber = parseInt(prompt("Enter your number"));
var tempString = myNumber + "";
var arr = tempString.split("");
console.log(arr);

这里有一个 Fiddle - http://jsfiddle.net/kellyjandrews/Wa5zD/


0

myNumber 是一个整数变量,它不包含 .split() 方法,这个方法属于字符串变量。

var no = "12 13 14 15";
var noV = no.split(" ")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接