数据如上,通过name来切割出列数,列数作为对象的属性名,而属性值是 数据里每一条name含有属性名
比如上面的数据 应该是 { 1:[{1列1柜},{1列2柜},...,{1列10柜}], 2:[{2列1柜},{2列2柜},...,{2列10柜}], 3:[{3列1柜},{3列2柜},...,{3列10柜}], 4:[{4列1柜},{4列2柜},...,{4列8柜}], }
已解决
悬赏分:40
- 解决时间 2021-11-25 18:30
点赞 0反对 0举报 0
收藏 0
分享 4
回答2
最佳
-
arr.reduce((pre,cur) => { let idx = cur['name'][0]; pre[idx] = pre[idx] ? pre[idx] : [] pre[idx].push({'name': cur.name}) return pre },{})
支持 0 反对 0 举报2021-11-25 16:21
-
遍历一下应该就可以了
function getNameObj(arrs){ let nameObj = {} arrs.forEach(arr=>{ let arrName = arr.name.match(/^\d*/)[0] if(arrName){ let obj = arr.name if(!nameObj[arrName]){ nameObj[arrName] = [] } nameObj[arrName].push(obj) } }) return nameObj }
支持 0 反对 0 举报2021-11-25 17:39