来自数字字符串的Javascript数组

来自数字字符串的Javascript数组,javascript,Javascript,我正在尝试使用javascript中的数组。考虑下面的代码: var visList = '1234,5678,9' var visListArray = new Array(visList); for (i = 0; i <= visListArray.length - 1; i++) { alert(visListArray[i]); } var visList='12345678,9' var vislistary=新数组(visList); 对于(i=0;i

我正在尝试使用javascript中的数组。考虑下面的代码:

 var visList = '1234,5678,9'
 var visListArray = new Array(visList);
 for (i = 0; i <= visListArray.length - 1; i++)
 {
      alert(visListArray[i]);
 }
var visList='12345678,9'
var vislistary=新数组(visList);

对于(i=0;i通过调用字符串上的
split()
创建数组:

var visList = '1234,5678,9'  
var visListArray = visList.split(",");
您不能将看起来像代码的字符串替换为实际代码。虽然这样做可行:

var visListArray = new Array(1234,5678,9);
您的没有,因为数组构造函数没有将字符串解释为3个逗号分隔的参数,所以它被解释为一个字符串

编辑:请注意,对字符串调用
split()
会产生一个字符串数组。如果需要一个数字数组,则需要迭代该数组,将每个字符串转换为一个数字。一种方便的方法是使用:


请参阅有关在旧浏览器中使用
map()
的说明。

因为它是一个字符串,请尝试以下操作:

var visList = '1234,5678,9'
var visListArray = [].concat(visList.split(','));
for (i = 0; i <= visListArray.length - 1; i++) {
    alert(visListArray[i]);
}
var visList='12345678,9'
var vislistary=[].concat(visList.split(',');
对于(i=0;i您必须使用

var visList='12345678,9'
var vislistary=visList.split(“,”);

对于(i=0;i要将符号分隔列表转换为数组,可以使用split(symbol):

var list=“1221232345547667”。拆分(“,”;
for(var i=0,il=list.length;i
要使用起始值初始化数组,@Shlomi-对concat的调用是完全冗余的。OP不必使用split,比如
var s='12345678,9'。match(/\d+/g);
也可以使用。
var visList = '1234,5678,9'
var visListArray = [].concat(visList.split(','));
for (i = 0; i <= visListArray.length - 1; i++) {
    alert(visListArray[i]);
}
var visList = '1234,5678,9'
var visListArray = visList.split(",");

for (i = 0; i <= visListArray.length - 1; i++)
{
    alert(visListArray[i]);
}
var list = "1221,2323,4554,7667".split(",");
for (var i = 0, il = list.length; i < il; i++) {
    alert( +list[i] ); // a casting from string to number
}