Angular2从另一个数组创建数组

时间:2018-01-12 17:11:03

标签: arrays angular5

您好我正在开发AngularJS 2应用程序。我正在尝试从现有数组创建新数组。我有我的下面的数组。

[
   {
      "roleid":"666c01aa-5272-40bc-a888-5edac9087aad",
      "ischecked":"false",
      "rolename":"Observer",
      "tenantid":"3a8360d6-9491-4191-a1ea-3260b70c3cd2",
      "isactive":true,
      "isdeleted":false,
      "scopeids":null,
      "scopes":null
   },
   {
      "roleid":"4df4bf2f-16b0-482a-84c1-7a646bbfcf71",
      "ischecked":"true",
      "rolename":"Operator",
      "tenantid":"3a8360d6-9491-4191-a1ea-3260b70c3cd2",
      "isactive":true,
      "isdeleted":false,
      "scopeids":null,
      "scopes":null
   }
]

我还有一个数组dropdownList = []; 在第一个数组中,我有属性roleid和rolename。我想重现我的第一个数组,如下所示。

  this.dropdownList = [
  {"id":666c01aa-5272-40bc-a888-5edac9087aad,"itemName":"Observer"},
  {"id":4df4bf2f-16b0-482a-84c1-7a646bbfcf71,"itemName":"Operator"}
                      ]

我想将roleid和roename复制到dropdownList数组中的id和itemName。 我尝试如下。

var id, itemName;
        results.forEach(eachObj => {
            this.dropdownList.push(
                id = eachObj.roleid,
                itemName = eachObj.rolename);
        });

这里结果是我的第一个数组。我循环遍历每一行并推送到dropdownList。这导致从索引0开始的行序列,但我想要如上所示。有人可以帮我做这个吗?任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

我不知道我是否真的明白你想要什么,但是放手吧!你需要封装对象。

results.forEach( eachObj => {
    this.dropdownList.push({
        id :  eachObj.roleid,
        itemName : eachObj.rolename
    });
});