Angular2,创建新的数组/映射

时间:2016-09-06 14:50:59

标签: angular

我有json数组 - “测试” 其中一个键是“GroupID” 我希望获取所有“GroupID”并创建包含它的新数组 (如果可能的话作为地图 - 所以没有重复) 我尝试了以下操作,但groupID只包含1个值 我尝试过.push,[]和其他许多方法,并且总是遇到错误 我怎么能这样做?

...
 groupID: any[];
...
 for (var index = 0; index < this.tests.length; index++) {
     var element = this.tests[index];
     this.groupID = element.GroupID;
    }

      console.log(this.groupID);

2 个答案:

答案 0 :(得分:1)

要获取数组,请替换

groupID: any[];

使用

groupID: any[] = [];

然后,也替换

this.groupID = element.GroupID;

使用

this.groupID.push(element.GroupID);

答案 1 :(得分:0)

[求助]还要感谢beetleJuice

仅在数组中不存在时添加:

&#13;
&#13;
...
 groupID: any[] = [];
...
    for (var index = 0; index < this.tests.length; index++) {
         var element = this.tests[index];
         if (this.groupID.indexOf(element.GroupID) == -1 ){
          this.groupID.push(element.GroupID);
         }
     }
&#13;
&#13;
&#13;