Also habe ich ein Array von Benutzern, die an bestimmte Teams gebunden sind, jeder Benutzer mit bestimmten Berechtigungen. Wenn der Benutzer auf mehrere Teams gebunden ist, werden alle diese Teams sind auch vorhanden im Array:ReactJS Wie man ein Array durchläuft und ein spezifisches Objektattribut in einem anderen Array abruft
[
{
"name" : "user1",
"teams": [
{"id": "123", "name": "team-1", "permissions" : 1}
]
},
{
"name" : "user2",
"teams": [
{"id": "123", "name": "team-1", "permissions" : 3}
]
},
{
"name" : "user3",
"teams": [
{"id": "456", "name": "team-2", "permissions" : 3},
{"id": "789", "name": "team-3", "permissions" : 3},
{"id": "123", "name": "team-1", "permissions" : 3},
{"id": "233", "name": "team-4", "permissions" : 3}
]
}
]
so jetzt will ich dies:
ich die ID des Team bekam bei Ich suche (ID: 123), wie kann ich das Array zuordnen, so dass ich nur die Berechtigungen für das Team mit der ID: 123 anzeigen kann?
Ich habe Folgendes getan, aber das funktioniert nicht, da das erste Element von User3 das falsche Team ist.
const MembersTable = observer(({ state }) => (
<div>
<table className="table table-hover table-responsive">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Permissions</th>
</tr>
</thead>
<tbody>
{state.accounts.map((account, i) => <MembersTableData state={state} account={account} team={account.teams} key={i}/>)}
</tbody>
</table>
</div>
))
const MembersTableData = observer(({ state, account, organization }) => (
<tr>
<td>
<span>{account.fullName}</span>
</td>
<td>{account.email}</td>
<td>
{team[0].permissions == 1 && <span>member</span>}
{team[0].permissions == 2 && <span>administrator</span>}
{team[0].permissions == 3 && <span>super admin</span>}
</td>
</tr>
))
this.state.team
ist in diesem Fall "123".
Wie kann ich das lösen?
Dank versuchen sollte, das funktioniert für mich! :-) – Steve