我的JS函数有问题。为简化起见,我想用n个其他数组(arr2)填充一个数组(arr1)。在我的循环中,我对arr1中的当前位置使用了一个计数器(不能因为某种原因而使用arr1.push )。如果我在arr1中记录我所有的arr2,它们都是相同的,总是最后添加的。所以我写了一个基本的脚本来测试它。我总是将第一个元素记入日志,并增加计数器的值。我是JS的新手,是不是有什么很大的误解我不明白?
function test(){
var arr1 = [];
var arr2 = [];
var counter=1;
arr2[0]="first";
arr2[1]="first";
arr2[2]="first";
arr1[0]=arr2;
arr1[0].forEach(function(elem){console.log(elem);});
for (var i = 0; i < 10 ; i++) {
arr2[0]=counter;
arr2[1]=counter;
arr2[2]=counter;
arr1[counter]=arr2;
arr1[0].forEach(function(elem){console.log(elem);});
counter++;
}
}
<button onclick="test()">Click</button>
https://stackoverflow.com/questions/52918746
复制相似问题