如何使用Angular JS从现有对象创建新对象

时间:2017-10-25 13:28:39

标签: javascript angularjs

我有下面的对象

belongsToMany

我想在projectTime数组中推进12个月。 我正在尝试构建下面的对象:

   $scope.projectDetails = [
  {
    "pName": "A",
    "projectTime": [
      {
        "month": "2"
      },
      {
        "month": "3"
      },
      {
        "month": "4"
      }
    ]
  },
  {
    "pName": "B",
    "projectTime": [
      {
        "month": "2"
      },
      {
        "month": "3"
      },
      {
        "month": "4"
      },
      {
        "month": "5"
      },
      {
        "month": "6"
      }
    ]
  }
]

以下是我的代码,并试图实现这一点,但我不能。

[
      {
        "pName" : "A",
        "projectTime": [
          {
            "month": "1"
          },
          {
            "month": "2"
          },
          {
            "month": "3"
          },
          {
            "month": "4"
          },
          {
            "month": "5"
          },
          {
            "month": "6"
          },
          {
            "month": "7"
          },
          {
            "month": "8"
          },
          {
            "month": "9"
          },
          {
            "month": "10"
          },
          {
            "month": "11"
          },
          {
            "time": "0"
          }
        ]
      },
      {
        "pName" : "B",
        "projectTime": [
          {
            "month": "1"
          },
          {
            "month": "2"
          },
          {
            "month": "3"
          },
          {
            "month": "4"
          },
          {
            "month": "5"
          },
          {
            "month": "6"
          },
          {
            "month": "7"
          },
          {
            "month": "8"
          },
          {
            "month": "9"
          },
          {
            "month": "10"
          },
          {
            "month": "11"
          },
          {
            "time": "0"
          }
        ]
      }
    ]

这里我试图做第一个循环,在第二个循环中我试图在特定索引中拼接对象。这里是angular.forEach($scope.projectDetails, function(value, key) { for(var i=1; i < 13; i++) { angular.forEach(value.projectTime, function(projectTimeValue, projectTimeKey) { if(projectTimeValue.month != 1) { value.projectTime.splice(0,0, { "month": "1" }) } if(projectTimeValue.month != 2) { value.projectTime.splice(1,0, { "month": "2" }) } if(projectTimeValue.month != 3) { value.projectTime.splice(2,0, { "month": "3" }) } }); } }); 根数组和$scope.projectDetails子JSON数组。

0 个答案:

没有答案