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后面的数字相同的项目的值提取出来放进一个数组,再把数组放进一个大数组里。例如a1、b1,key的数字部分均为1,则提取a1、b1的值分别为a1,b1,放进一个数组中,再把这个数组放进一个大数组,后面项目类推,最后得到一个两层嵌套数组。
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
其实你的问题问得不清楚,数据也很特殊,真的不知道你要写什么逻辑。
如果只实现一个单一逻辑,那很简单:
function o2arr(obj, n) { //obj:要转换的对象,n:对象里数字对应 ,这儿很有局限,只针对你题目 var result = []; for(var j = 1; j <= n; j++) { var arr = []; for(var i in obj) { if(i.indexOf(j) != -1) {arr.push(obj[i])} } result.push(arr); } return result; } o2arr(o,3) //o为你题中的对象,打印出结果就可以实现你提问的数组了
但是要通用的话,这样还差很多,需要知道你要啥子逻辑,而不是单一的给个代码转换。
添加回答
举报
0/150
提交
取消