javascript - 规则对象如何转数组?
本文介绍了javascript - 规则对象如何转数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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
,放进一个数组中,再把这个数组放进一个大数组,后面项目类推,最后得到一个两层嵌套数组。
解决方案
其实你的问题问得不清楚,数据也很特殊,真的不知道你要写什么逻辑。
如果只实现一个单一逻辑,那很简单:
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为你题中的对象,打印出结果就可以实现你提问的数组了
但是要通用的话,这样还差很多,需要知道你要啥子逻辑,而不是单一的给个代码转换。
这篇关于javascript - 规则对象如何转数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文