简体   繁体   English

如何为我的react组件按ID过滤数据列表以获取对象的名称

[英]How do I filter a list of data by id for my react component to get the name of the object

So I have a list of data coming from my redux-store the I have JSON.stringified so I can read it. 所以我有一个来自我的redux-store的数据列表,我有JSON.stringified以便可以读取它。 I want to filter through the list of permissions which only provides me the id to get the name of each permission, so I can display the Permission Name in my React Component . 我想筛选permissions列表,该列表仅向我提供id以获取每个权限的name ,因此我可以在我的React Component显示Permission Name

Here is one sample Item: 这是一个示例项目:

{
    "id": "1",
    "type": "role-templates",
    "links": { "self": "http://localhost/v1/role-templates/1" },
    "attributes": {
      "name": "Org Admin",
      "description": "Administers an Organization"
    },
    "relationships": {
      "role-template-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/role-templates/1/relationships/role-template-permission-list",
          "related":
            "http://localhost/v1/role-templates/1/role-template-permission-list"
        }
      },
      "permissions": {
        "links": {
          "self":
            "http://localhost/v1/role-templates/1/relationships/permissions",
          "related":
            "http://localhost/v1/role-templates/1/permissions"
        },
        "data": [
          { "type": "permissions", "id": "1" },
          { "type": "permissions", "id": "2" },
          { "type": "permissions", "id": "3" },
          { "type": "permissions", "id": "4" },
          { "type": "permissions", "id": "5" },
          { "type": "permissions", "id": "6" },
          { "type": "permissions", "id": "7" },
          { "type": "permissions", "id": "8" },
          { "type": "permissions", "id": "9" },
          { "type": "permissions", "id": "10" },
          { "type": "permissions", "id": "11" },
          { "type": "permissions", "id": "12" },
          { "type": "permissions", "id": "13" },
          { "type": "permissions", "id": "14" },
          { "type": "permissions", "id": "15" },
          { "type": "permissions", "id": "17" },
          { "type": "permissions", "id": "18" },
          { "type": "permissions", "id": "19" },
          { "type": "permissions", "id": "20" },
          { "type": "permissions", "id": "21" },
          { "type": "permissions", "id": "23" },
          { "type": "permissions", "id": "24" }
        ]
      }
    }

This is the data for the permissions endpoint from the backend again I JSON.stringified it for this slack question : 这再次是来自后端的权限端点的数据,我JSON.stringified it for this slack questionJSON.stringified it for this slack question

[
  {
    "id": "1",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/1" },
    "attributes": {
      "name": "Administer Source List",
      "description": "Data Source",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/1/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/1/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/1/relationships/roles",
          "related": "http://localhost/v1/permissions/1/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "2" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "8" }
        ]
      }
    }
  },
  {
    "id": "2",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/2" },
    "attributes": {
      "name": "Administer Common Layers",
      "description": "Data Source",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/2/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/2/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/2/relationships/roles",
          "related": "http://localhost/v1/permissions/2/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "2" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "8" }
        ]
      }
    }
  },
  {
    "id": "3",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/3" },
    "attributes": {
      "name": "Do benchmark tagging",
      "description": "Data Source",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/3/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/3/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/3/relationships/roles",
          "related": "http://localhost/v1/permissions/3/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "2" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "8" }
        ]
      }
    }
  },
  {
    "id": "4",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/4" },
    "attributes": {
      "name": "Do trend mapping",
      "description": "Data Source",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/4/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/4/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/4/relationships/roles",
          "related": "http://localhost/v1/permissions/4/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "2" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "8" }
        ]
      }
    }
  },
  {
    "id": "5",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/5" },
    "attributes": {
      "name": "Map custom values (for each data source)",
      "description": "Data Source",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/5/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/5/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/5/relationships/roles",
          "related": "http://localhost/v1/permissions/5/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "2" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "8" }
        ]
      }
    }
  },
  {
    "id": "6",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/6" },
    "attributes": {
      "name": "Administer Data Sets",
      "description": "Data Sets",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/6/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/6/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/6/relationships/roles",
          "related": "http://localhost/v1/permissions/6/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "2" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "8" }
        ]
      }
    }
  },
  {
    "id": "7",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/7" },
    "attributes": {
      "name": "Create Campaigns",
      "description": "Campaigns",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/7/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/7/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/7/relationships/roles",
          "related": "http://localhost/v1/permissions/7/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "8",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/8" },
    "attributes": {
      "name": "Access/modify campaign setup",
      "description": "Campaigns",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/8/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/8/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/8/relationships/roles",
          "related": "http://localhost/v1/permissions/8/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "3" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "9" }
        ]
      }
    }
  },
  {
    "id": "9",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/9" },
    "attributes": {
      "name": "Launch campaigns",
      "description": "Campaigns",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/9/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/9/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/9/relationships/roles",
          "related": "http://localhost/v1/permissions/9/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "10",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/10" },
    "attributes": {
      "name": "Create org-wide survey-related notifications",
      "description": "Campaigns",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/10/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/10/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/10/relationships/roles",
          "related": "http://localhost/v1/permissions/10/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "11",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/11" },
    "attributes": {
      "name": "View Reports",
      "description": "Reports",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/11/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/11/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/11/relationships/roles",
          "related": "http://localhost/v1/permissions/11/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "4" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "10" }
        ]
      }
    }
  },
  {
    "id": "12",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/12" },
    "attributes": {
      "name": "Modify prebuilt reports",
      "description": "Reports",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/12/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/12/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/12/relationships/roles",
          "related": "http://localhost/v1/permissions/12/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "13",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/13" },
    "attributes": {
      "name": "Create new reports",
      "description": "Reports",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/13/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/13/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/13/relationships/roles",
          "related": "http://localhost/v1/permissions/13/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "4" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "10" }
        ]
      }
    }
  },
  {
    "id": "14",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/14" },
    "attributes": {
      "name": "Share reports with rest of org",
      "description": "Reports",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/14/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/14/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/14/relationships/roles",
          "related": "http://localhost/v1/permissions/14/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "15",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/15" },
    "attributes": {
      "name": "Share filters with rest of org",
      "description": "Reports",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/15/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/15/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/15/relationships/roles",
          "related": "http://localhost/v1/permissions/15/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "16",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/16" },
    "attributes": {
      "name": "Create portfolio",
      "description": "APT",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/16/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/16/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/16/relationships/roles",
          "related": "http://localhost/v1/permissions/16/roles"
        },
        "data": []
      }
    }
  },
  {
    "id": "17",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/17" },
    "attributes": {
      "name": "Access all portfolios (at org)",
      "description": "APT",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/17/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/17/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/17/relationships/roles",
          "related": "http://localhost/v1/permissions/17/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "5" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "11" }
        ]
      }
    }
  },
  {
    "id": "18",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/18" },
    "attributes": {
      "name": "Assign action plans",
      "description": "APT",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/18/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/18/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/18/relationships/roles",
          "related": "http://localhost/v1/permissions/18/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "5" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "11" }
        ]
      }
    }
  },
  {
    "id": "19",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/19" },
    "attributes": {
      "name": "Work on action plans",
      "description": "APT",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/19/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/19/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/19/relationships/roles",
          "related": "http://localhost/v1/permissions/19/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "5" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "11" }
        ]
      }
    }
  },
  {
    "id": "20",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/20" },
    "attributes": {
      "name": "Administer role templates for org",
      "description": "Manage Users",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/20/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/20/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/20/relationships/roles",
          "related": "http://localhost/v1/permissions/20/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  },
  {
    "id": "21",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/21" },
    "attributes": {
      "name": "Add/edit/delete non org-admin users at org",
      "description": "Manage Users",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/21/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/21/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/21/relationships/roles",
          "related": "http://localhost/v1/permissions/21/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "6" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "12" }
        ]
      }
    }
  },
  {
    "id": "22",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/22" },
    "attributes": {
      "name": "Add/edit/dete ORg Admin users at org",
      "description": "Manage Users",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/22/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/22/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/22/relationships/roles",
          "related": "http://localhost/v1/permissions/22/roles"
        },
        "data": []
      }
    }
  },
  {
    "id": "23",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/23" },
    "attributes": {
      "name": "Administer access patterns at org",
      "description": "Manage Users",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/23/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/23/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/23/relationships/roles",
          "related": "http://localhost/v1/permissions/23/roles"
        },
        "data": [
          { "type": "roles", "id": "1" },
          { "type": "roles", "id": "6" },
          { "type": "roles", "id": "7" },
          { "type": "roles", "id": "12" }
        ]
      }
    }
  },
  {
    "id": "24",
    "type": "permissions",
    "links": { "self": "http://localhost/v1/permissions/24" },
    "attributes": {
      "name": "Switch user (\"Impersonate\" another user)",
      "description": "Manage Users",
      "is-active": null
    },
    "relationships": {
      "role-permission-list": {
        "links": {
          "self":
            "http://localhost/v1/permissions/24/relationships/role-permission-list",
          "related":
            "http://localhost/v1/permissions/24/role-permission-list"
        }
      },
      "roles": {
        "links": {
          "self":
            "http://localhost/v1/permissions/24/relationships/roles",
          "related": "http://localhost/v1/permissions/24/roles"
        },
        "data": [{ "type": "roles", "id": "1" }, { "type": "roles", "id": "7" }]
      }
    }
  }
]

So as you can see each permission has a name , description . 因此,您可以看到每个权限都有一个namedescription So I want to retrieve the name of each permission , by using the id filter. 所以我想通过使用id过滤器来检索每个permission的名称。

Your client data contains a link to fetch the data you want. 您的客户数据包含一个获取所需数据的链接。

roleTemplate.relationships.permissions.links.self
//=> "http://localhost/v1/role-templates/1/relationships/permissions"

 const roleTemplate = { id: "1", type: "role-templates", links: { self: "http://localhost/v1/role-templates/1" }, attributes: { name: "Org Admin", description: "Administers an Organization" }, relationships: { "role-template-permission-list": { links: { self: "http://localhost/v1/role-templates/1/relationships/role-template-permission-list", related: "http://localhost/v1/role-templates/1/role-template-permission-list" } }, permissions: { links: { self: "http://localhost/v1/role-templates/1/relationships/permissions", related: "http://localhost/v1/role-templates/1/permissions" }, data: [ {type: "permissions", id: "1"}, {type: "permissions", id: "2"}, {type: "permissions", id: "3"}, {type: "permissions", id: "4"}, {type: "permissions", id: "5"}, {type: "permissions", id: "6"}, {type: "permissions", id: "7"}, {type: "permissions", id: "8"}, {type: "permissions", id: "9"}, {type: "permissions", id: "10"}, {type: "permissions", id: "11"}, {type: "permissions", id: "12"}, {type: "permissions", id: "13"}, {type: "permissions", id: "14"}, {type: "permissions", id: "15"}, {type: "permissions", id: "17"}, {type: "permissions", id: "18"}, {type: "permissions", id: "19"}, {type: "permissions", id: "20"}, {type: "permissions", id: "21"}, {type: "permissions", id: "23"}, {type: "permissions", id: "24"} ] } } }; console.log( roleTemplate.relationships.permissions.links.self ); 

Requesting from this url should return all the permissions that belong to your role-template including name and description . 从此url请求应该返回属于角色模板的所有权限,包括namedescription

You can use map on all the elements in the permissions data and find the element in the data in the result of the second request that contains the name and description . 您可以对permissions数据中的所有元素使用map ,并在包含namedescription的第二个请求的结果中find数据中的元素。

const result = roleTemplate.relationships.permissions.data.map(permission => {
  const permissionData = data.find(element => element.id === permission.id);
  return {
    id: permission.id,
    name: permissionData.attributes.name,
    description: permissionData.attributes.description
  };
});

 const roleTemplate = { id: "1", type: "role-templates", links: { self: "http://localhost/v1/role-templates/1" }, attributes: { name: "Org Admin", description: "Administers an Organization" }, relationships: { "role-template-permission-list": { links: { self: "http://localhost/v1/role-templates/1/relationships/role-template-permission-list", related: "http://localhost/v1/role-templates/1/role-template-permission-list" } }, permissions: { links: { self: "http://localhost/v1/role-templates/1/relationships/permissions", related: "http://localhost/v1/role-templates/1/permissions" }, data: [ { type: "permissions", id: "1" }, { type: "permissions", id: "2" }, { type: "permissions", id: "3" }, { type: "permissions", id: "4" }, { type: "permissions", id: "5" }, { type: "permissions", id: "6" }, { type: "permissions", id: "7" }, { type: "permissions", id: "8" }, { type: "permissions", id: "9" }, { type: "permissions", id: "10" }, { type: "permissions", id: "11" }, { type: "permissions", id: "12" }, { type: "permissions", id: "13" }, { type: "permissions", id: "14" }, { type: "permissions", id: "15" }, { type: "permissions", id: "17" }, { type: "permissions", id: "18" }, { type: "permissions", id: "19" }, { type: "permissions", id: "20" }, { type: "permissions", id: "21" }, { type: "permissions", id: "23" }, { type: "permissions", id: "24" } ] } } }; const data = [ { id: "1", type: "permissions", links: { self: "http://localhost/v1/permissions/1" }, attributes: { name: "Administer Source List", description: "Data Source", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/1/relationships/role-permission-list", related: "http://localhost/v1/permissions/1/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/1/relationships/roles", related: "http://localhost/v1/permissions/1/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "2" }, { type: "roles", id: "7" }, { type: "roles", id: "8" } ] } } }, { id: "2", type: "permissions", links: { self: "http://localhost/v1/permissions/2" }, attributes: { name: "Administer Common Layers", description: "Data Source", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/2/relationships/role-permission-list", related: "http://localhost/v1/permissions/2/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/2/relationships/roles", related: "http://localhost/v1/permissions/2/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "2" }, { type: "roles", id: "7" }, { type: "roles", id: "8" } ] } } }, { id: "3", type: "permissions", links: { self: "http://localhost/v1/permissions/3" }, attributes: { name: "Do benchmark tagging", description: "Data Source", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/3/relationships/role-permission-list", related: "http://localhost/v1/permissions/3/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/3/relationships/roles", related: "http://localhost/v1/permissions/3/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "2" }, { type: "roles", id: "7" }, { type: "roles", id: "8" } ] } } }, { id: "4", type: "permissions", links: { self: "http://localhost/v1/permissions/4" }, attributes: { name: "Do trend mapping", description: "Data Source", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/4/relationships/role-permission-list", related: "http://localhost/v1/permissions/4/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/4/relationships/roles", related: "http://localhost/v1/permissions/4/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "2" }, { type: "roles", id: "7" }, { type: "roles", id: "8" } ] } } }, { id: "5", type: "permissions", links: { self: "http://localhost/v1/permissions/5" }, attributes: { name: "Map custom values (for each data source)", description: "Data Source", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/5/relationships/role-permission-list", related: "http://localhost/v1/permissions/5/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/5/relationships/roles", related: "http://localhost/v1/permissions/5/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "2" }, { type: "roles", id: "7" }, { type: "roles", id: "8" } ] } } }, { id: "6", type: "permissions", links: { self: "http://localhost/v1/permissions/6" }, attributes: { name: "Administer Data Sets", description: "Data Sets", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/6/relationships/role-permission-list", related: "http://localhost/v1/permissions/6/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/6/relationships/roles", related: "http://localhost/v1/permissions/6/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "2" }, { type: "roles", id: "7" }, { type: "roles", id: "8" } ] } } }, { id: "7", type: "permissions", links: { self: "http://localhost/v1/permissions/7" }, attributes: { name: "Create Campaigns", description: "Campaigns", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/7/relationships/role-permission-list", related: "http://localhost/v1/permissions/7/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/7/relationships/roles", related: "http://localhost/v1/permissions/7/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "8", type: "permissions", links: { self: "http://localhost/v1/permissions/8" }, attributes: { name: "Access/modify campaign setup", description: "Campaigns", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/8/relationships/role-permission-list", related: "http://localhost/v1/permissions/8/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/8/relationships/roles", related: "http://localhost/v1/permissions/8/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "3" }, { type: "roles", id: "7" }, { type: "roles", id: "9" } ] } } }, { id: "9", type: "permissions", links: { self: "http://localhost/v1/permissions/9" }, attributes: { name: "Launch campaigns", description: "Campaigns", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/9/relationships/role-permission-list", related: "http://localhost/v1/permissions/9/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/9/relationships/roles", related: "http://localhost/v1/permissions/9/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "10", type: "permissions", links: { self: "http://localhost/v1/permissions/10" }, attributes: { name: "Create org-wide survey-related notifications", description: "Campaigns", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/10/relationships/role-permission-list", related: "http://localhost/v1/permissions/10/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/10/relationships/roles", related: "http://localhost/v1/permissions/10/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "11", type: "permissions", links: { self: "http://localhost/v1/permissions/11" }, attributes: { name: "View Reports", description: "Reports", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/11/relationships/role-permission-list", related: "http://localhost/v1/permissions/11/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/11/relationships/roles", related: "http://localhost/v1/permissions/11/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "4" }, { type: "roles", id: "7" }, { type: "roles", id: "10" } ] } } }, { id: "12", type: "permissions", links: { self: "http://localhost/v1/permissions/12" }, attributes: { name: "Modify prebuilt reports", description: "Reports", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/12/relationships/role-permission-list", related: "http://localhost/v1/permissions/12/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/12/relationships/roles", related: "http://localhost/v1/permissions/12/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "13", type: "permissions", links: { self: "http://localhost/v1/permissions/13" }, attributes: { name: "Create new reports", description: "Reports", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/13/relationships/role-permission-list", related: "http://localhost/v1/permissions/13/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/13/relationships/roles", related: "http://localhost/v1/permissions/13/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "4" }, { type: "roles", id: "7" }, { type: "roles", id: "10" } ] } } }, { id: "14", type: "permissions", links: { self: "http://localhost/v1/permissions/14" }, attributes: { name: "Share reports with rest of org", description: "Reports", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/14/relationships/role-permission-list", related: "http://localhost/v1/permissions/14/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/14/relationships/roles", related: "http://localhost/v1/permissions/14/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "15", type: "permissions", links: { self: "http://localhost/v1/permissions/15" }, attributes: { name: "Share filters with rest of org", description: "Reports", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/15/relationships/role-permission-list", related: "http://localhost/v1/permissions/15/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/15/relationships/roles", related: "http://localhost/v1/permissions/15/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "16", type: "permissions", links: { self: "http://localhost/v1/permissions/16" }, attributes: { name: "Create portfolio", description: "APT", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/16/relationships/role-permission-list", related: "http://localhost/v1/permissions/16/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/16/relationships/roles", related: "http://localhost/v1/permissions/16/roles" }, data: [] } } }, { id: "17", type: "permissions", links: { self: "http://localhost/v1/permissions/17" }, attributes: { name: "Access all portfolios (at org)", description: "APT", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/17/relationships/role-permission-list", related: "http://localhost/v1/permissions/17/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/17/relationships/roles", related: "http://localhost/v1/permissions/17/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "5" }, { type: "roles", id: "7" }, { type: "roles", id: "11" } ] } } }, { id: "18", type: "permissions", links: { self: "http://localhost/v1/permissions/18" }, attributes: { name: "Assign action plans", description: "APT", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/18/relationships/role-permission-list", related: "http://localhost/v1/permissions/18/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/18/relationships/roles", related: "http://localhost/v1/permissions/18/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "5" }, { type: "roles", id: "7" }, { type: "roles", id: "11" } ] } } }, { id: "19", type: "permissions", links: { self: "http://localhost/v1/permissions/19" }, attributes: { name: "Work on action plans", description: "APT", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/19/relationships/role-permission-list", related: "http://localhost/v1/permissions/19/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/19/relationships/roles", related: "http://localhost/v1/permissions/19/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "5" }, { type: "roles", id: "7" }, { type: "roles", id: "11" } ] } } }, { id: "20", type: "permissions", links: { self: "http://localhost/v1/permissions/20" }, attributes: { name: "Administer role templates for org", description: "Manage Users", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/20/relationships/role-permission-list", related: "http://localhost/v1/permissions/20/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/20/relationships/roles", related: "http://localhost/v1/permissions/20/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } }, { id: "21", type: "permissions", links: { self: "http://localhost/v1/permissions/21" }, attributes: { name: "Add/edit/delete non org-admin users at org", description: "Manage Users", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/21/relationships/role-permission-list", related: "http://localhost/v1/permissions/21/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/21/relationships/roles", related: "http://localhost/v1/permissions/21/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "6" }, { type: "roles", id: "7" }, { type: "roles", id: "12" } ] } } }, { id: "22", type: "permissions", links: { self: "http://localhost/v1/permissions/22" }, attributes: { name: "Add/edit/dete ORg Admin users at org", description: "Manage Users", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/22/relationships/role-permission-list", related: "http://localhost/v1/permissions/22/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/22/relationships/roles", related: "http://localhost/v1/permissions/22/roles" }, data: [] } } }, { id: "23", type: "permissions", links: { self: "http://localhost/v1/permissions/23" }, attributes: { name: "Administer access patterns at org", description: "Manage Users", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/23/relationships/role-permission-list", related: "http://localhost/v1/permissions/23/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/23/relationships/roles", related: "http://localhost/v1/permissions/23/roles" }, data: [ { type: "roles", id: "1" }, { type: "roles", id: "6" }, { type: "roles", id: "7" }, { type: "roles", id: "12" } ] } } }, { id: "24", type: "permissions", links: { self: "http://localhost/v1/permissions/24" }, attributes: { name: 'Switch user ("Impersonate" another user)', description: "Manage Users", "is-active": null }, relationships: { "role-permission-list": { links: { self: "http://localhost/v1/permissions/24/relationships/role-permission-list", related: "http://localhost/v1/permissions/24/role-permission-list" } }, roles: { links: { self: "http://localhost/v1/permissions/24/relationships/roles", related: "http://localhost/v1/permissions/24/roles" }, data: [{ type: "roles", id: "1" }, { type: "roles", id: "7" }] } } } ]; const result = roleTemplate.relationships.permissions.data.map(permission => { const permissionData = data.find(element => element.id === permission.id); return { id: permission.id, name: permissionData.attributes.name, description: permissionData.attributes.description }; }); console.log(result); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用另一个要在React Table中显示的数据数组按ID或名称过滤数据数组? - How do I filter an array of data by id or name using another array of data to display in React Table? 如何从我的Json对象获取所有ID,名称值和位置到数组中 - How do I get All ID, Name values and location into array from my Json Object 如何获得浏览器的自动填充值以显示在序列化的React`Field`组件数据中? - How do I get browser Autofill values to show up in my serialized React `Field` component data? 如何让这个 twitter 提要在我的 React 组件中呈现? - How do I get this twitter feed to render in my React component? 如何在 React 中过滤待办事项列表? - How do I filter a to do list in React? 如何在React组件中从Express端点获取数据? - How do I get data from Express endpoint in a React component? 如何在反应中从 firestore 获取特定 id 的数据? - How do I get data on a specific id from firestore in react? 我如何过滤我的 object 列表与 Id 的数组 - Angular/TypeScript - How can i filter my object list with an array of Id's - Angular/TypeScript 如何按 ID 和名称和城市过滤以与 redux 进行本机反应? - How can I filter by ID and by name and city in react native with redux? 如何将 React state 与动态过滤器组件结合使用? - How do I use React state in combination with a dynamic filter component?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM