此函数返回数组列表中的相同值。
例如,如果 i=10
,那么我的数组应该包含 10 个不同的值,但它只存储最后一个值 10 次。
我的代码有什么问题?
$scope.webTempIds=[];
$scope.wId={};
$scope.getIds=function(){
for(var i=0;i<$rootScope.retData.length;i++){
$scope.wId.ID=$rootScope.retData[i].WEBUI_TEMP_ID;
$scope.webTempIds.push($scope.wId);
}
return $scope.webTempIds;
}
最佳答案
$scope.wId={};
每次都改变。该数组包含对此对象的引用,因此当您更改值时,它会更改数组中的值。
let obj = {};
let result = [];
for(let i = 0; i<10; i++){
obj.a = i;
result.push(obj);
}
console.log(result);
关于javascript - 为什么数组只包含最后一个值 n 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46128163/