规则对象如何转数组?

form

{    a1: 'a1',    b1: 'b1',    c1: 'c1',    d1: 'd1',    a2: 'a2',    b2: 'b2',    c3: 'c3'}

to

[
    ['a1', 'b1', 'c1', 'd1'],
    ['a2', 'b2'],
    ['c3']
]

js怎么实现?
其实想要的就是把key后面的数字相同的项目的值提取出来放进一个数组,再把数组放进一个大数组里。
例如a1b1,key的数字部分均为1,则提取a1b1的值分别为a1b1,放进一个数组中,再把这个数组放进一个大数组,后面项目类推,最后得到一个两层嵌套数组。


RISEBY
浏览 516回答 1
1回答

慕斯709654

其实你的问题问得不清楚,数据也很特殊,真的不知道你要写什么逻辑。如果只实现一个单一逻辑,那很简单:function&nbsp;o2arr(obj,&nbsp;n)&nbsp;{&nbsp;//obj:要转换的对象,n:对象里数字对应&nbsp;,这儿很有局限,只针对你题目 &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;result&nbsp;=&nbsp;[];&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;j&nbsp;=&nbsp;1;&nbsp;j&nbsp;<=&nbsp;n;&nbsp;j++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;arr&nbsp;=&nbsp;[];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;i&nbsp;in&nbsp;obj)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i.indexOf(j)&nbsp;!=&nbsp;-1)&nbsp;{arr.push(obj[i])} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.push(arr); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;result; } o2arr(o,3)&nbsp;&nbsp;//o为你题中的对象,打印出结果就可以实现你提问的数组了但是要通用的话,这样还差很多,需要知道你要啥子逻辑,而不是单一的给个代码转换。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript