JavaScript基础面试题

小明有一个这样的数组[{a:1,b:2},{a:1,b:2}]。他想把他转换成[{a:[1,1],b:[2,2]}] ,各位小伙伴有知道吗?

虽然有些麻烦


let arr = [{ a: 1, b: 2 }, { a: 1, b: 5, c: 5 }];
  let v = [{}];
  arr.map((item) => {
    for (key in item) {
      v[0][key]=[];
    }
  });
  arr.map((item)=>{
    for (key in item) {
      for(vkey in v[0]){
        if(vkey==key){
          v[0][key].push(item[key]);
        }
      }
    }
  })
  console.log(v)

let arr = [{a:1,b:2},{a:1,b:2}]
            function test(arr){
                let arr1 = []
                let obj = {}
                arr.forEach(v=>{
                    obj = {...v}
                })
                for(let k in obj){
                    obj[k] = []
                }
                arr.forEach(v=>{
                    for(let i in v){
                        for(let key in obj){
                            if(i === key){
                                obj[key].push(v[i])
                            }
                        }
                    }
                    
                })
                arr1.push(obj)
                return arr1
            }

有点麻烦,你看看怎么样


      let arr = [
        { a: 1, b: 2 },
        { a: 1, b: 2, c: 3 },
        { a: 1, b: 2, c: 3, d: 4 },
        { a: 1, b: 2, c: 3, d: 4, e: 5 },
      ];
      let obj = {};
      let result=[];
      arr.forEach((item) => {
        Object.keys(item).map((item2, index2) => {
          obj[item2] = [];
        });
      });
      arr.forEach((item) => {
        Object.keys(item).forEach((item2) => {
          if (obj.hasOwnProperty(item2)) {
            obj[item2].push(item[item2]);
          }
        });
      });
      result.push(obj)
      console.log(obj);
      console.log(result)//最终结果

let arr = [
      { a: 1, b: 2, c: 3, w: 5 },
      { a: 1, b: 5, c: 5, w: 4 },
      { a: 1, b: 5, c: 5, w: 4 },
    ];
    let obj = {};
    for (let key in arr[0]) {
      //循环获取value值
      let subArray = [];
      for (let i = 0; i < arr.length; i++) {
        let val = arr[i][key];
        subArray.push(val);
      }
      obj[key] = subArray;
    }
    console.log([obj])