constobj={'aa':{a:1,b:2,c:3,d:4,e:5},'bb':{a:1,b:2,c:3,d:4,e:5},'cc':{a:1,b:2,c:3,d:4,e:5}}如何转换成类似于constarr=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4],[5,5,5,5]]这种结构
2 回答

皈依舞
TA贡献1851条经验 获得超3个赞
如果只是2层结构,可以用下面的代码letres=[]for(let[key1,value1]ofObject.entries(obj)){letarr=[]for(let[key2,value2]ofObject.entries(value1)){arr.push(value2)}res.push(arr)}如果是不知道多成,那就需要封装下,然后用递归的方式去实现

呼如林
TA贡献1798条经验 获得超3个赞
functiontranslateDate(obj){returnObject.values(obj).reduce((temp,item)=>{Object.keys(item).forEach(key=>{temp[key]=[...(temp[key]||[]),item[key]]})returntemp},{})}translateDate(obj)/*{a:[1,1,1]b:[2,2,2]c:[3,3,3]d:[4,4,4]e:[5,5,5]}*/
添加回答
举报
0/150
提交
取消