0

I have an array object like below

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" }
]

Considering id as unique for each object I need output as

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" }
]

There are many answers which are making use of for loops or comparator. What I am trying to find out is very simple solution rather than coding complex things.

0

1 Answer 1

6

Luckily I was able to figure out and found very simple answer. Just one liner!!!

this.allowedRoles=this.allRoles.filter(role=> !this.assignedRoles.some(present=> present.id==role.id));
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.