欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

两个数组一一对应生成对象

程序员文章站 2022-05-18 17:21:10
...

映射思维

1.如下代码:要求从 obj 转换成 arr

//后台传给我的数据形式
var obj={
1: "有限责任公司"
2: "股份有限公司"
3: "个人独资企业"
4: "个体工商户"  
}

var arr=[
//我需要的数据形式
    {val:1,lable:"总经理"},
    {val:2,lable:"总监"},
    {val:3,lable:"财务"}
    ]

2.映射过程

代码演示:

//1.声明三个数组arr1,arr2,arr3
var arr1=[],arr2=[],arr3=[]
//2.循环遍历obj,键放到arr1里,值放到arr2里,
        for (let key in obj) {
          // console.log(key);
          arr1.push(key)
          // console.log(res.data.data[key]);
          arr2.push(res.data.data[key])
         }
        console.log(arr1,arr2);
//3.开始映射
        arr1.forEach((item,index)=>{arr3.push({val:item,lable:arr2[index]})})
        console.log(arr3)
        arr=arr3

3.两个数组一一对应生成对象

上面是是从对象,到数组,再到新对象。
现在两个数组一一对应生成对象则是反过来,映射思想是一样的
代码演示:

var arr1=[1,2,3]
var arr2=["苹果","橘子","香蕉"]
var obj={}
arr1.map((item,index)=>{
obj[item]=arr2[index]
})
console.log(obj)