С
Size: a a a
С
С
S
S
I
arr.map(v => v.role).filter((v, i, a) => a.indexOf(v) === i)
S
arr.map(v => v.role).filter((v, i, a) => a.indexOf(v) === i)
I
I
I
arr
.reduce((a, v, i, arr) => {
if(a.filter(e => e.guid === v.guid).length === 0) {
a.push({
guid: v.guid,
roles: arr.filter(e=> e.guid === v.guid).map(e => e.role)
});
}
return a;
}, [])
S
arr
.reduce((a, v, i, arr) => {
if(a.filter(e => e.guid === v.guid).length === 0) {
a.push({
guid: v.guid,
roles: arr.filter(e=> e.guid === v.guid).map(e => e.role)
});
}
return a;
}, [])
IN
arr
.reduce((a, v, i, arr) => {
if(a.filter(e => e.guid === v.guid).length === 0) {
a.push({
guid: v.guid,
roles: arr.filter(e=> e.guid === v.guid).map(e => e.role)
});
}
return a;
}, [])
С
let obj = {};
arr.forEach(({guid, role}) => obj[guid] ? obj[guid].push(role) : obj[guid] = [role]);
let result = Object.keys(obj).map(guid => ({guid, role: obj[guid]}))
I
let obj = {};
arr.forEach(({guid, role}) => obj[guid] ? obj[guid].push(role) : obj[guid] = [role]);
let result = Object.keys(obj).map(guid => ({guid, role: obj[guid]}))
С
С
let obj = {};
let result = [];
arr.forEach(({guid, role}) => {
if (obj[guid]) {
obj[guid].role.push(role);
} else {
let item = {guid, 'role': [role]}
obj[guid] = item;
result.push(item);
}
});
console.log(obj, result);
S
let obj = {};
let result = [];
arr.forEach(({guid, role}) => {
if (obj[guid]) {
obj[guid].role.push(role);
} else {
let item = {guid, 'role': [role]}
obj[guid] = item;
result.push(item);
}
});
console.log(obj, result);
I
С
IN
S