我想创建一个数字数组。我使用了两种方法,但是第一种方法不是创建新的数字数组。我想知道为什么第一种方法不起作用?
var arr = [];
var i;
for(i=1; i<=100; i++){
var new_array = arr.push(i);
}
console.log(Array.isArray(new_array));
> Output : false
var i;
for(i=1; i<=100; i++){
var arr = new Array(i)
}
console.log(Array.isArray(arr));
> Output: true
因为push
返回数组的新长度,它将是1
,2
,3
等,但是如果在循环后执行console.log(Array.isArray(arr));
,它将显示true
]。基本上,您在第一个示例中创建的数组存储在arr
中,而不是new_array
中。
在第一种方法中,您正在将值分配给new_array变量。每次for循环执行该时间时,都会将新值分配给该变量。这就是第一种方法不起作用的原因