首页 > 解决方案 > 用javascript从数组中重构数据

问题描述

我希望这不是一个愚蠢的问题。我的数组如下所示:

const data = [
  {
    pollType: "1",
    pollName: "Can you help me?",
    options: [
      { Options: "Yes, I can", PID: "oFnxh-NDdcP" },
      { Options: "No way!", PID: "d9A10-omlUd" }
    ]
  }
];

但我需要拥有它:

const result = [
  {
    pollType: "1",
    pollName: "Can you help me?",
    option1: "Yes, I can",
    pid1: "oFnxh-NDdcP",
    option2: "No way!",
    pid2: "d9A10-omlUd"
  }
];

如果做起来这么简单,请不要生气。我非常感谢您的帮助,如果您做一个示例,以便我自己和其他人将来会发现它非常有用...

标签: javascriptarrays

解决方案


var orig = [{"pollType":"1","pollName":"Can you help me?","options":[{"Options":"Yes, I can","PID":"oFnxh-NDdcP"},{"Options":"No way!","PID":"d9A10-omlUd"}]}]

    var newArr = [];
    orig.forEach(v => {
        var newObj = {};
        newObj.pollType = v.pollType;
        newObj.pollName = v.pollName;
        v.options.forEach((k, i) => {
            newObj["options" + (i + 1)] = k.Options;
            newObj["pid" + (i + 1)] = k.PID;
        });
        newArr.push(newObj);
    });

console.log(newArr);


推荐阅读