Javascript AngularJS使用循环向对象插入新属性

Javascript AngularJS使用循环向对象插入新属性,javascript,arrays,angularjs,for-loop,foreach,Javascript,Arrays,Angularjs,For Loop,Foreach,我需要将两个阵列组合在一起。 在这个代码块中,我试图从foo数组中获取每个用户行,并将其放入一个新数组中 UserService.GetUserFoo(id) .success(function (data) { data = angular.fromJson(data); //[{id:1, u_id:1, foo:"a"}{id:2, u_id:2, foo:"b"}] angular.forEach(data, fun

我需要将两个阵列组合在一起。 在这个代码块中,我试图从foo数组中获取每个用户行,并将其放入一个新数组中

UserService.GetUserFoo(id)
        .success(function (data) {         
         data = angular.fromJson(data); //[{id:1, u_id:1, foo:"a"}{id:2, u_id:2, foo:"b"}]

         angular.forEach(data, function(user){
                getUser(user.u_id)   }); //FUNCTION CALL       
         }).
        error(function(error) {
         //do something       
      });
在此代码块中,在GetUserFoo服务中调用getUser函数以填充名为$scope.users的新数组

$scope.users = []; //[{id:1, name:"Ed"},{id:2, name:"Jim"}]
      var getUser = function(id) {
            UserService.GetUserById(id)
            .success(function (data) {
              data = angular.fromJson(data);
                $scope.users.push(data); //                
            }).error(function(error) {
                       //do something
            });
        };
问题-->如何将每个foo字段插入到每个相应的$scope.users对象中,以便在我看来可以有这样的内容

//[{id:1, name:"Ed", foo:"a"}{id:2, name:"Jim", foo:"b"}]

<li ng-repeat="user in users">
<h2>{{user.name}}</h2>
<p>{{user.foo}}</p>
</li>
/[{id:1,名字:“Ed”,foo:a}{id:2,名字:“Jim”,foo:b}]
  • {{user.name} {{user.foo}}


  • 只要两个数组具有相同的长度,并且数组中的每个
    id
    在两个数组中处于相同的位置:

    var array1 = angular.copy($scope.users);
    var array2 = angular.copy(data);
    
    $scope.users = mergeArray(array1, array2);
    
    function mergeArray (array1, array2) {
      for (index in array1) {
        angular.extend(array1[index], array2[index]);
      }
      return array1;
    }
    
    函数ctrl($scope){
    $scope.users=[
    {id:1,名称:“用户1”},
    {id:2,名称:“用户2”}
    ];
    $scope.fooUser=[
    {id:1,foo:foo 1},
    {id:2,foo:foo 2}
    ];
    $scope.insertProperty=function(){
    
    对于(var i=0;'insertProperty'函数中的逻辑向您展示了如何插入您要求的属性。但是在何处触发此函数实际上取决于您的情况。如果您的getUserData服务是一个ajax调用,您可能希望在ajax调用的成功方法中运行insertProperty函数。谢谢,我已经插入了所有我能插入的行i’’我想……我没有意识到这应该是成功的方法