利用es6的Object方法 转换数据 组合成需要的对象

267 阅读1分钟
 test(){
      let obj = {
        name:['aa','bb','cc'],
        age:[18,19,20],
        city:['nanjin','hangzhou','shanghai']
      }
      console.log(Object.keys(obj));
      console.log(Object.values(obj));
    },

结果 就是输出键 或者 值

image.png

 Object.keys(obj).forEach((r) =>{console.log(r,obj[r]);})

对象打印中括号键的话就是如下结果 image.png

Object.keys(obj).forEach((r) =>{
        obj[r].forEach((rr) => {
          console.log(r,rr)
          //console.log({r:rr});
          console.log({[r]:rr});
        })
        })

得到

image.png

那么

test(){
      let obj = {
        name:['aa','bb','cc'],
        age:[18,19,20],
        city:['nanjin','hangzhou','shanghai']
      }
      let keys = Object.keys(obj)//得到三个数组
      let len = obj[keys[0]].length//第一个数组的长度
      let arr = []
      for (let i = 0; i < len; i++ ){
        let o = {}
          keys.forEach((r) => {
            o[r] = obj[r][i]
          })
        arr.push(o)
      }
      console.log(arr);}

image.png