Ani*_*ket 0 javascript ecmascript-5 typescript angular angular9
我有一个如下所示的数组对象
allRoles =
[
{ id: "0", name: "Tester", description: "Role is testing" },
{ id: "1", name: "Developer", description: "Role is Developer" },
{ id: "2", name: "Admin", description: "Role is Admin" },
{ id: "3", name: "Manager", description: "Role is Manager" },
{ id: "4", name: "Reviewer", description: "Role is Reviewer" }
]
assignedRoles =
[
{ id: "0", name: "Tester", description: "Role is testing" },
{ id: "4", name: "Reviewer", description: "Role is Reviewer" }
]
Run Code Online (Sandbox Code Playgroud)
考虑到 id 对于每个对象都是唯一的,我需要输出为
allowedRoles =
[
{ id: "1", name: "Developer", description: "Role is Developer" },
{ id: "2", name: "Admin", description: "Role is Admin" },
{ id: "3", name: "Manager", description: "Role is Manager" }
]
Run Code Online (Sandbox Code Playgroud)
有很多答案都在使用 for 循环或比较器。我试图找到的是非常简单的解决方案,而不是编码复杂的东西。
幸运的是,我能够弄清楚并找到非常简单的答案。只需要一根内线!!!
this.allowedRoles=this.allRoles.filter(role=> !this.assignedRoles.some(present=> present.id==role.id));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2527 次 |
| 最近记录: |