const arr = [{
id: 1,
type: 'a',
name: '1a'
}, {
id: 2,
type: 'a',
name: '2a'
}, {
id: 3,
type: 'b',
name: '2b'
}];
arr2EntitiesByKeys(data, ['type', 'name', 'id'])
const result = {
'a': {
'1a': {
1: {}
},
'2a': {
2: {}
}
},
'b': {
'2b': {
2: {}
}
}
}