3

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

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

var z = new Array(x);

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

alert(z[0]);

或类似的东西(其他整数等)它不起作用。它只会显示整个数组,而不是实际显示给定位置的文本。通过这样做设置一个数组:

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

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

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

4

5 回答 5

4

以下声明:

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

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

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

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

var emptyArray = [];
var arrayWithItems = [1, 2, 3, 4];
于 2013-03-19T15:55:51.993 回答
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 个元素的数组,如您所料。

于 2013-03-19T15:55:56.620 回答
0
var x = ("a","b","c","d");

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

var z = new Array(x);

这将创建一个只有一个字符串值“d”的单元素数组。

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

var x = ["a", "b", "c", "d"];
console.error(x[0]); // will echo "a"
于 2013-03-19T15:56:14.413 回答
0

请将数组声明更改为:

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

alert(x[0]) 在这种情况下显示a

于 2013-03-19T15:56:48.360 回答
0

你错过Arrayvar x = ("a","b","c","d");声明

以上将return d始终elementbraces

像这样使用它var x = Array("a","b","c","d");

于 2013-03-19T15:58:24.833 回答