动态添加类似对象

时间:2016-11-25 03:39:07

标签: javascript angularjs

我正在尝试将类似的对象推送到数组中,并且在每个对象中我都在推送一些值,但更新的值会反映在所有对象中。我想只将foo数组中的三个值添加到第一个对象中,而在第二个对象的foo中添加另外三个值,但在这两个对象中,所有六个值都会出现。

<!DOCTYPE html>
<html ng-app="myApp" ng-controller='myCtrl'>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script>
myapp=angular.module('myApp',[]).controller('myCtrl',function($scope){
   $scope.inp=[];
   var a={foo:[]};
   var barcode='one_two_three_four_five_six';
   var arr=barcode.split('_'),k=-1;
   for(i=0; i < arr.length; i++){
      if(i%3 == 0){
          $scope.inp.push(a);
          k++;}
   $scope.inp[k].foo.push(arr[i]);
   }
});
</script>
<body>
<div ng-repeat='x in inp track by $index'>{{(x)}}</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

有一个临时数组变量来保存3个值并将该值推送到foo数组

var temp=[];
for(i=0;i<arr.length;i++){
    temp[i%3]=arr[i];
    if((i+1)%3==0){
        foo.push(temp);
        temp=[];
        k++;
    }
}