javascript - typescript : Check if object exist in array by value

标签 javascript arrays angular typescript ecmascript-6

我有这个数据:

roles = [
{roleId: "69801", role: "ADMIN"}
{roleId: "69806", role: "SUPER_ADMIN"}
{roleId: "69805", role: "RB"}
{roleId: "69804", role: "PILOTE"}
{roleId: "69808", role: "VENDEUR"}
{roleId: "69807", role: "SUPER_RB"}
]

我必须过滤我的表以检查是否有包含特定值 role 的对象。

我的函数应该是这样的:

checkRoleExistence(role){

// if role exists on one of the objects return true
// else returne false
}

要使用它,我会这样做:

let ifExists = this.checkRoleExistence("PILOTE") ;

我想使用 Ecmascript"filter" 功能。

建议?

最佳答案

您可以使用一些方法和解构

let roles = [ {roleId: "69801", role: "ADMIN"}, {roleId: "69806", role: "SUPER_ADMIN"}, {roleId: "69805", role: "RB"}, {roleId: "69804", role: "PILOTE"}, {roleId: "69808", role: "VENDEUR"}, {roleId: "69807", role: "SUPER_RB"} ]

const checkRoleExistence = roleParam => roles.some( ({role}) => role == roleParam)

console.log(checkRoleExistence("ADMIN"));
console.log(checkRoleExistence("RA"));
console.log(checkRoleExistence("RB"));

关于javascript - typescript : Check if object exist in array by value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51498419/

相关文章:

javascript - array.push 到数组中的数组

angular - 错误: Invalid provider for the NgModule 'AppModule' - only instances of Provider and Type are allowed

javascript - 使用正则表达式替换查询字符串仅返回第一个数组值?

javascript - Cordova 在 www 文件夹中保存文件

c - 如何通过引用返回结构数组?

angular - PrimeNG toastr 未显示 - Angular 6

Angular 2 : Error: unexpected value 'AppComponent' declared by the module 'AppModule'

javascript - 在表单中使用 JavaScript 进行计算,输出到动态字段,代码不起作用

javascript - 单击菜单外的任意位置可关闭菜单

java - 查找连续数组中的第 k 个缺失元素(超出时间限制)