안녕하세요, 나는 객체의 배열을 결합하고 최종 결과가 attr 중 하나와 다른 하나는 모든 값을 가진 배열로 개체의 배열로 노력하고있어속성으로 객체의 배열을 결합
let arr = [
{
name: 'cdd_register',
levels: 'read'
}, {
name: 'cdd_register',
levels: 'write'
}, {
name: 'annual_reports',
levels: 'write'
}
];
을 내가 예상 한 결과는 다음과 같습니다 : 원래
배열에서 두 번째로 ATTR에서 내가 가진
let result = [
{
name: 'cdd_register',
levels: ['read', 'write']
}, {
name: 'annual_reports',
levels: 'write'
}
];
나는 백엔드
data: [{
id:1
label: "Administrator"
name: "admin"
permissions:{
data: [{
id: 4,
name: "cdd_register.read",
label: "Read access on CDD Register module"
}, {
id: 6,
name: "cdd_register.write",
label: "Write access on CDD Register module"
}, {
id: 7,
name: "annual_reports.write",
label: "Write access on Annual Reports module"
}]
}
}]
에서이 반응을 그리고 지금입니다하지만 그 일을하는 가장 좋은 방법 (청소)을 파악하지 못할으로이
getModules(roles) {
let modules = [];
_.forEach(roles, role => {
_.forEach(role.permissions.data, permission => {
modules.push(permission);
})
});
return _.uniqBy(modules, 'id').map(module => {
let moduleArray = module.name.split('.');
return {
name: moduleArray[0],
levels: moduleArray[1]
}
});
}
}
후 나는 결과가 있습니다.
감사합니다.
안녕을 사용 할 수있다. 에 오신 것을 환영합니다. 작업 한 코드를 [mcve] 형식으로 질문에 추가해야합니다. – Andy
죄송합니다. @Andy – ezekkiel