2016-01-08 4 views
-1

У меня есть объект JSON, и я хочу, чтобы значения массива были введены в JSON.angularjs нажимать значения на объект

 $scope.customerObjArray = ['34343434','73473333434']; 

     $scope.jointUsersObj = { 
      "branchAssociated": { 
       "isGridBranch": false 
      },    
      "customerNumber": ""    
     }; 

    for(var i = 0; i < $scope.customerObjArray.length; i++){ 
     $scope.jointUsersObj.customerNumber = $scope.customerObjArray[i];     
    } 

Я хочу, чтобы выход следующим образом

{ 
    "branchAssociated": { 
    "isGridBranch": false 
    },    
    "customerNumber": "34343434"    
}, 
{ 
    "branchAssociated": { 
     "isGridBranch": false 
    },    
    "customerNumber": "73473333434"    
} 

ответ

1

Ну, вы делаете это:

Еогеасп номер n в $scope.customerObjArray, обновить свойство customerNumber из $scope.jointUsersObj быть n

Что вы на самом деле хотите сделать:

номер Еогеасп n в $scope.customerObjArray, сделайте копию $scope.jointUsersObj с имуществом customerNumber быть n

попробовать это:

$scope.jointUserObjects = [] // this is an array of users 
for(var i = 0; i < $scope.customerObjArray.length; i++) { 
    $scope.jointUserObjects.push({ 
     branchAssociated: { 
       isGridBranch: false 
     },    
     customerNumber: $scope.customerObjArray[i]  
    }); 
} 
+0

спасибо..и работает отлично. спасибо большое – vishnu

-2

Просто объявить массив и раздвинуть объекты в этом массиве.

$scope.customerObjArray = ['34343434', '73473333434']; 

$scope.jointUsersObj = { 
    "branchAssociated": { 
     "isGridBranch": false 
    }, 
    "customerNumber": "" 
}; 
var jointUsersArray = []; 
for (var i = 0; i < $scope.customerObjArray.length; i++) { 
    $scope.jointUsersObj.customerNumber = $scope.customerObjArray[i]; 
    jointUsersArray.push($scope.jointUsersObj); 
} 
+0

Вы только толкаете числа из '$ scope.customerObjArray' в' jointUsersArray', а не объекты –

+0

Opps, спасибо за указание. Исправлено то же самое. –

0

Это не вопрос AngularJS; мы можем решить это с помощью простого JavaScript. Предполагая, что у вас есть множество клиентов и шаблон объекта, вы можете просто перебирать массив и сопоставлять каждый объект с объектом:

const customers = [ '123', '456' ]; 
const template = { 
    branchAssociated: { 
    isGridBranch: false, 
    }, 
}; 

const mappedCustomers = customers.map(customer => { 
    const obj = angular.copy(template); 
    template.customerNumber = customer; 

    return obj; 
}); 

const json = JSON.stringify(mappedCustomers); 
Смежные вопросы