js 前端词典对象的属性和值读取

  • A+
所属分类:Web前端
摘要

通常服务端返回比较奇葩的数据对象,不知道该怎么将这个对象转换为可用实体,想了很久,突发奇想想到了这么个方法。

通常服务端返回比较奇葩的数据对象,不知道该怎么将这个对象转换为可用实体,想了很久,突发奇想想到了这么个方法。

需求是这样:企业有多个产品,产品有分为很几个种类。服务端有获取产品的接口,和单独获取产品种类的接口

获取到产品的结果是这样的:

serviceResult=

{
    "result":{
        "探测仪":[
            {
                "id":"132939651638522165",
                "createBy":"admin"
            },
            {
                "id":"1329696564385521665",
                "createBy":"admin"
            }
        ],
        "产品类型其他":[
            {
                "id":"132969656438521665",
                "createBy":"admin"
            }
        ],
        "探测器":[

        ]
    },
    "timestamp":1606287998065
}

result 下的 产品类型其他、探测仪、探测器 是产品的种类

现在我们需要将上面的对象整合成一个有规则的数组或者对象

思路:先根据获取产品种类接口 获取所有 产品的种类,分装成一个数组如下:

var prodTypeList = ['产品类型其他','探测仪','探测器']

之后遍历prodTypeList数组将上面这个对象重新填充到一个有序的规则数组中:

var lastArr = new Array()

 

prodTypeList.forEach(function(item,index){

  lastArr.push(serviceResult.result[item])

})

这样最终得到的就是这样一个有序好操作的数组对象啦:

[
    [
        {
            "id":"132939651638522165",
            "createBy":"admin"
        },
        {
            "id":"1329696564385521665",
            "createBy":"admin"
        }
    ],
    [
        {
            "id":"132969656438521665",
            "createBy":"admin"
        }
    ],
    [
    ]
]

啊哈哈哈