这是一个非常愚蠢的问题,但我只是在这里画一个空白......
这是什么类型的变量声明:
var s1 = [1,2,3,4]
另外,当这些对象的数量未知时,如何从多个对象构造这样的变量。这就是我提出的,但是没有用。
var s1 = [];
for(x in data[i].uh) {
s1 += data[i].uh[x];
}
答案 0 :(得分:2)
这称为Array
,可以使用new Array()
或使用示例中的数组文字[]
声明。您可以使用Array.push()
方法(see docs)为其添加新值:
var s1 = [];
for(x in data[i].uh) {
s1.push(data[i].uh[x]);
}
答案 1 :(得分:2)
var s1 = [1,2,3,4]
的四个整数的数组声明
您不需要循环来复制数组,只需执行此操作:
var s1 = data.slice(0);
或在您的示例中,您可能需要这样:
var s1 = data[i].uh.slice(0);
在此处阅读有关复制数组的更多信息:http://my.opera.com/GreyWyvern/blog/show.dml/1725165
“slice(0)方法的意思是,返回a 从元素0到数组的数组切片 结束。换句话说,整个 阵列。 Voila,阵列的副本。“
答案 2 :(得分:2)
这个
var s1 = [1,2,3,4]
是一个数组声明。
要向数组添加元素,请使用push
方法:
var s1 = [];
for(x in data[i].uh) {
s1.push(data[i].uh[x]);
}
答案 3 :(得分:2)
s1
是一个数组,它是一个带有函数的正确Javascript对象。
var s1 = [];
是创建数组的推荐方法。而不是:
var s1 = new Array();
(见:http://www.hunlock.com/blogs/Mastering_Javascript_Arrays)
要将项目添加到数组,请使用s1.push(item)
,以便您的代码为:
var s1 = [];
for(x in data[i].uh) {
s1.push(data[i].uh[x]);
}
作为旁注,我不建议使用for-in,至少在没有检查hasOwnProperty的情况下。
答案 4 :(得分:1)
它声明了一个局部变量,Array
有4个成员。
如果您想要附加到Array
,请使用push()
方法。
答案 5 :(得分:1)
这是一个数组。要添加到数组,您将使用Array.push()。例如:
var s1 = [];
s1.push(1);
s1.push(2);