Angularjs Loading an object into an array via forEach

I have an array of drug codes 'BARB', 'HALU', 'METH'. I want to scroll through these codes and create a new object for each.

var saveObj = {};
saveObj.SelectedList = [];
angular.forEach(self.DrugNamesSelected, function(value, key) {
    //Load Objects into array
    var newObj = {};
    newObj = self.Selected;
    newObj.FK_CLNT_PERSFK_PER = $routeParams.personId;
    newObj.DRUG_TYP_CODE = value;
    saveObj.SelectedList.push(newObj);
});

This is what I get

saveObj.SelectedList [0] .DRUG_TYP_CODE = 'METH' saveObj.SelectedList [1] .DRUG_TYP_CODE = 'METH' saveObj.SelectedList [2] .DRUG_TYP_CODE = 'METH'

This is what I need

saveObj.SelectedList [0] .DRUG_TYP_CODE = 'BARB' saveObj.SelectedList [1] .DRUG_TYP_CODE = 'HALU' saveObj.SelectedList [2] .DRUG_TYP_CODE = 'METH'

+4
source share
1 answer

, newObj = self.Selected; . , , self.Selected ( ). METH, 3 self.Selected.

angular.forEach(self.DrugNamesSelected, function(value, key) {
    //Load Objects into array
    var newObj = {};
    //newObj = self.Selected; //removed this line
    newObj.FK_CLNT_PERSFK_PER = $routeParams.personId;
    newObj.DRUG_TYP_CODE = value;
    saveObj.SelectedList.push(newObj);
});

- , Object.assign, self.Selected newObj.

Object.assign(newObj, self.Selected)

IE11 Object.assign . polyfill

+3

Source: https://habr.com/ru/post/1672209/


All Articles