使用变量设置数组

时间:2013-03-19 15:51:56

标签: javascript arrays

您好我希望能够从数组中提取数据,同时使用变量进行设置。 像这样:

var x = ("a","b","c","d");

var z = new Array(x);

这不会起作用,就像这样做:

alert(z[0]);

或类似的东西(其他整数等)它将无法正常工作。 它将只显示整个数组,而不是实际显示给定位置的文本。尽管如此设置数组:

var z = new Array("a","b","c","d");

将使其工作,当采用z [0]时,它将实际显示正确的文本。
我想这样做的原因是因为我希望能够通过使用键入输入的内容来设置数组。

有人知道如何使这项工作,因为我不知道为什么它现在不起作用。它应该真正起作用似乎很合乎逻辑。

5 个答案:

答案 0 :(得分:4)

以下声明:

var x = ("a","b","c","d");

不是数组声明。你应该使用方括号:

var x = ["a","b","c","d"];

我个人在编写javascript时从不使用“数组”功能。相反,我只是使用方括号:

var emptyArray = [];
var arrayWithItems = [1, 2, 3, 4];

答案 1 :(得分:3)

您当前的代码将生成一个包含单个元素的数组(该元素将包含“d”),因为您实际拥有的是一个(无意义的)分组运算符和一堆逗号运算符。逗号运算符只返回最后的操作数(在本例中为字符串“d”)。

console.log(z); // "['d']"

我不确定你到底想要做什么,但我认为你想要这个(因为它的声音是你从一串用户输入开始):

var x = "a,b,c,d";
var z = x.split(",");

// or

var x = "abcd";
var z = x.split(""); // Empty string, splits between every char

现在z将包含一个包含4个元素的数组,就像您期望的那样。

答案 2 :(得分:0)

var x = ("a","b","c","d");

这会创建一个值为“d”的string变量x。

var z = new Array(x);

这会创建一个只包含一个值为“d”的字符串的单个元素数组。

您应该使用以下语法声明数组。

var x = ["a", "b", "c", "d"];
console.error(x[0]); // will echo "a"

答案 3 :(得分:0)

请将数组声明更改为:

 var x = ["a","b","c","d"];
在这种情况下,

alert(x [0])显示a

答案 4 :(得分:0)

您在Array声明中错过了var x = ("a","b","c","d");

上述return d始终是element

中的braces

var x = Array("a","b","c","d");

一样使用它