javascript push in a loop
当我尝试将元素推送到JavaScript数组中时,它不起作用。 这是我能想到的最简单的样本。 为什么不能工作?javascript push in a loop
<!DOCTYPE html> <html>
<body>
<script>
var i;
var mycars = new Array();
for(i=1;i<=10;i++){
mycars.push[ i.toString()+"-" ];
}
alert(mycars.join(""));
</script>
</body>
</html>
回答:
push
是一个函数。你调用函数与()
,不[]
:
mycars.push(i.toString()+"-"); // here ---^ and here ----^
在哪里你可能得到困惑的是,你可以添加到一个数组,而无需使用push
,只是将其分配给数组元素,即使该元素尚不存在。因此,例如,你的循环可能会是这样的:
for(i=1;i<=10;i++){ mycars[mycars.length] = i.toString()+"-";
}
在那里,因为我指的是一个数组元素(mycars[mycars.length]
),而不是调用一个函数,我用[]
。
附注:不要var mycars = new Array();
,只需写var mycars = [];
。它做同样的事情,但更简洁,不容易产生副作用。
以上是 javascript push in a loop 的全部内容, 来源链接: utcz.com/qa/266895.html