javascript - 规则对象如何转数组?

查看:93
本文介绍了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后面的数字相同的项目的值提取出来放进一个数组,再把数组放进一个大数组里。
例如a1b1,key的数字部分均为1,则提取a1b1的值分别为a1b1,放进一个数组中,再把这个数组放进一个大数组,后面项目类推,最后得到一个两层嵌套数组。

解决方案

其实你的问题问得不清楚,数据也很特殊,真的不知道你要写什么逻辑。
如果只实现一个单一逻辑,那很简单:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆