我有这个数据:
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/