Javascript 循环遍历数组并将每个索引绑定到AngularJS中的另一个数组

Javascript 循环遍历数组并将每个索引绑定到AngularJS中的另一个数组,javascript,arrays,angularjs,for-loop,Javascript,Arrays,Angularjs,For Loop,我定义了一个对象和一个数组 $scope.multipleTransferGotten = []; $scope.newParameters = { UserId: "", Udid:"", TransType: "", SourceAccNumber: "", SourceAccName:"", BeneficiaryAccName: "", Benefic

我定义了一个对象和一个数组

      $scope.multipleTransferGotten = [];

      $scope.newParameters = {
        UserId: "",
        Udid:"",
        TransType: "",
        SourceAccNumber: "",
        SourceAccName:"",
        BeneficiaryAccName: "",
        BeneficiaryAccNumber: "",
        Amount: "",
        Remarks: "",
        DestBankCode:"",
        AuthToken:"",
        UseToken: ""
      };
我有下面一行代码,它在会话中选择一个数组

 $scope.pickedTransfers = bank.getPaymentList($scope.paymentList);
然后我循环遍历从会话中获取的数组,并将其每个结果绑定到$scope.newParamaters,然后推入$scope.multipleTransferGett,如下所示

 for (var i = 0; i < $scope.pickedTransfers.length; i++)
      {
        $scope.newParameters.UserId = bank.getUserId();
        $scope.newParameters.Udid = bank.getUuid();
        $scope.newParameters.TransType = $scope.pickedTransfers[i].TransType;
        $scope.newParameters.SourceAccNumber = $scope.pickedTransfers[i].SourceAccNumber;
        $scope.newParameters.SourceAccName = bank.getAccountInfo()[i].CUSNAME;
        $scope.newParameters.BeneficiaryAccName = $scope.pickedTransfers[i].BeneficiaryAccName;
        $scope.newParameters.BeneficiaryAccNumber = $scope.pickedTransfers[i].BeneficiaryAccNumber;
        $scope.newParameters.Amount = $scope.pickedTransfers[i].Amount;
        $scope.newParameters.Remarks = $scope.pickedTransfers[i].Remarks;
        $scope.newParameters.DestBankCode = $scope.pickedTransfers[i].DestBankCode;
        $scope.newParameters.AuthToken = $localStorage.AuthToken;
        $scope.newParameters.UseToken = bank.getUseToken();

        $scope.multipleTransferGotten.push($scope.newParameters);
      }
for(变量i=0;i<$scope.pickedTransfers.length;i++)
{
$scope.newParameters.UserId=bank.getUserId();
$scope.newParameters.Udid=bank.getUuid();
$scope.newParameters.TransType=$scope.pickedTransfers[i].TransType;
$scope.newParameters.SourceAccNumber=$scope.pickedTransfers[i].SourceAccNumber;
$scope.newParameters.SourceAccName=bank.getAccountInfo()[i].CUSNAME;
$scope.newParameters.beniciiaryaccName=$scope.pickedTransfers[i].beniciiaryaccName;
$scope.newParameters.受益人账户编号=$scope.pickedTransfers[i]。受益人账户编号;
$scope.newParameters.Amount=$scope.pickedTransfers[i].Amount;
$scope.newParameters.Comments=$scope.pickedTransfers[i]。备注;
$scope.newParameters.DestBankCode=$scope.pickedTransfers[i]。DestBankCode;
$scope.newParameters.AuthToken=$localStorage.AuthToken;
$scope.newParameters.UseToken=bank.getUseToken();
$scope.multipleTransferGett.push($scope.newParameters);
}
我面临的问题是,数组中只有最后一个索引被填满 $scope.multipleTransferGett数组,也就是说,如果我在2个数组中循环,则只有$scope.pickedTransfers[1]会填充$scope.multipleTransferGett数组两次


请,我需要帮助,我希望它能够读取、推送和存储$scope.pickedTransfers[0]和$scope.pickedTransfers[1]。谢谢

由于相同的对象引用,您覆盖了相同的对象,并为所有条目获得了相同的值

您需要一个没有属性的空对象,并向该对象添加所有需要的属性,然后可以将该对象推送到数组中

我建议使用一个临时变量,它不是
$scope
的一部分

var newParameters;
for (var i = 0; i < $scope.pickedTransfers.length; i++) {
    newParameters = {};
    newParameters.UserId = bank.getUserId();
    // ...

    $scope.multipleTransferGotten.push(newParameters);
}
var参数;
对于(变量i=0;i<$scope.pickedTransfers.length;i++){
newParameters={};
newParameters.UserId=bank.getUserId();
// ...
$scope.multipleTransferGett.push(新参数);
}