如何使用AngularJs将数组推入对象数组

时间:2015-06-17 06:58:14

标签: javascript arrays angularjs arraylist

我有这个数组:

$scope.arrayList=[{FirstName:"",LastName:""}];
$scope.Address=[{address:"",PhonNumber:""}];

我希望将另一个$scope.Address数组推送到first(index)对象中,输出应该是这样的:

$scope.arrayList=[{FirstName:"",LastName:"",$scope.Address}];

当我试图将地址推入数组时,它正在创建一个新对象, 所以我试过了:

 $scope.arrayList[0].push($scope.Address);

但是它显示了这个错误:“[0]未定义”

2 个答案:

答案 0 :(得分:4)

我认为你正在寻找这个

$scope.arrayList[0].Address= $scope.Address;

如果不给出键/值对,则无法将数组插入到对象数组中。

假设$scope.Address存储$scope.arrayList[0]的地址数组。

如果不是这种情况,并且您想要根据索引映射每个数组,那么试试这个:

$scope.arrayList[0].Address= $scope.Address[0];

答案 1 :(得分:1)

你无法进入一个对象 - 只能进入一个数组。 $scope.arrayList[0]是一个对象(person)而不是一个数组(地址列表)。您必须将数组定义为此对象中的属性。

$scope.arrayList[0].addresses=[{address:"",PhonNumber:""}];

或者使用person对象定义地址列表并使用push

$scope.arrayList=[{FirstName:"",LastName:"", addresses=[]}];
$scope.arrayList[0].addresses.push({address:"",PhonNumber:""});