I have for loop inside for loop... and my array output is nested array [[{...}]] but I need
[{...}]
Is there any way to make this array without nested array in this case?
Here is my code... I have users and for every user i need to add new array of objects
users = [{
name: "user1"
role: ["admin", "tester", "viewer"]
},{
name: "user2"
role: ["admin", "tester", "viewer"]
}]
userRole: any[]=[];
for (let user of users){
for (let u of user.role){
this.userRole.push({
name: user.name,
role: u
})
}
this.data.push(this.userRole)
}
User can have multiple role, but because of database structure I need in user object send array with object
{ "name": "user1",
"role": [{
"role" : "admin",
"user" : "user1"
},{
"role" : "tester",
"user" : "user1"
},{
"role" : "view",
"user" : "user1"
}]
}
but I get this
{ "name": "user1",
"role": [ // nested array
[{
"role" : "admin",
"user" : "user1"
},{
"role" : "tester",
"user" : "user1"
},{
"role" : "view",
"user" : "user1"
}]
]
}
I try to use .flat() but still the same
this.data = this.data.concat(this.userRole)?usersobject