小赵要努力奥里给 2021-04-01 16:59 采纳率: 0%
浏览 58

js将一对多的对象转换成一对一的对象?

前端定义一个对象 people = {"name":['zzz', 'sss', 'www'], "age": [12, 15 , 18], "sex": ["man", "man", "woman"]}或者其他这样的对象
如何用JS转换成一个名字对应一个年龄对应一个性别以下的格式进行打印输出,要求是转换过程是通用的,传入一个其他的对象也可以转换成以下格式,转换时键和值不能使用已有的
[{"name":"zzz", "age":12, "sex": "man"},{"name":"sss", "age":15 , "sex": "man"},{"name":"www", "age":18, "sex": "woman"}]

  • 写回答

3条回答 默认 最新

  • 关注

     let person={
                    "name":['zzz', 'sss', 'www'], "age": [12, 15 , 18], "sex": ["man", "man", "woman"]
                }
                let newArr=[];
                let objNum=0;//需要创建对象的个数
                for(let key in person){
                    objNum=person[key].length;
                    if(objNum>0){
                        break;
                    }
                }
                for(let i=0;i<objNum;i++){
                    let obj={};
                    //这里标记
                    for(let key in person){
                 
                        obj[key]=person[key][i];
                    }
                  newArr.push(obj)
                }
                console.log(newArr)
    评论

报告相同问题?

悬赏问题

  • ¥25 使用cube ai 导入onnx模型时报错
  • ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
  • ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
  • ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
  • ¥15 使用华为ENSP软件模拟实现该实验拓扑
  • ¥15 通过程序读取主板上报税口的数据
  • ¥15 matlab修改为并行
  • ¥20 数据分析出错了,希望有能人看看,解决一下
  • ¥15 尝试访问%1服务的windows注册表时遇到问题。必须先解决此问题,然后才能运行安装过程。(请确认您正在使用管理员权限运行)373
  • ¥15 (关键词-运算放大器)