使用javascript在变量中推送数组值

时间:2013-05-14 15:03:06

标签: javascript

我有一个字符串,我想拆分它并将其推入变量。
我试图在变量结果中推送数组值 这是我试过的。

var region = "Rajkot,Jamnagar,Surat";
var result;
var array = region.split(',');
for (var i=0; i<array.length; i++ )
            {
                alert(array[i]);
                result.push(array[i]);
            }

但它的返回错误result.push不是一个函数。 如何推动变量的价值 我试图提醒这个结果变量。 请解决我的疑问 感谢。

4 个答案:

答案 0 :(得分:5)

您应该将result变量初始化为

var result = [];

所以你的最终代码是:

var region = "Rajkot,Jamnagar,Surat";
var result = [];
var array = region.split(',');
for (var i=0; i<array.length; i++ ){
   alert(array[i]);
   result.push(array[i]);
}

split()已经返回一个数组,因此您的for可能是不必要的,除非您希望在将数组元素添加到结果之前对数组元素执行业务逻辑。

答案 1 :(得分:3)

我认为您需要将结果初始化为数组

var result = [];

答案 2 :(得分:2)

为什么要推动阵列? split返回一个数组。

var region = "Rajkot,Jamnagar,Surat";
var result = region.split(','); // This is already an array
for (var i in result) {
    alert(result[i]);
}

请参阅DEMO

答案 3 :(得分:1)

为了使用Array原型中的函数,您需要实际拥有一个数组。现在,您有一个未定义的result变量(因此不能支持push)。

为了使其工作,您需要确保变量的类型实际上是一个数组。这可以这样做:

var result = [];

(如果你没有使用函数,总是记得初始化数组)