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

回到顶部