代码之家  ›  专栏  ›  技术社区  ›  Jyotirmaya Prusty

ES6箭头函数到普通JS转换[重复]

  •  -2
  • Jyotirmaya Prusty  · 技术社区  · 6 年前

    由于IE不支持ES6 JavaScript,我很难用正常的JS语法来写下面这行代码。

    更新问题。

    我的输入如下。

    var onlyData =  [
    ["Individual Id","Individual Last Name","Individual First Name","Individual Middle Name"],
    ["1268933","mrs","jeanine","marie"],
    ["1268934","mr","jasmine","curry"]
    ] 
     var headers = onlyData.shift();
     var outputJSONObj = onlyData.map(a => a.reduce((r, v, i) => (r[headers[i]] = v, r), {}));
    

    以及变量的输出 outputJSONObj 如下所示。

    [
    {
    "Individual Id": "1268933",
    "Individual Last Name": "mrs",
    "Individual First Name": "jeanine",
    "Individual Middle Name": "marie"
    },
    {
    "Individual Id": "1268934",
    "Individual Last Name": "miss",
    "Individual First Name": "jasmine",
    "Individual Middle Name": "curry"
    }
    ]
    

    请使用函数以正常语法重写。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Hassan Imam Ravi kant    6 年前
    var onlyData = [
      ["Individual Id", "Individual Last Name", "Individual First Name", "Individual Middle Name"],
      ["1268933", "mrs", "jeanine", "marie"],
      ["1268934", "mr", "jasmine", "curry"]
    ]
    
    var headers = onlyData[0] || undefined;`
    
    var outputJSONObj = onlyData.map(function (a) { return a.reduce(function (r, v, i) { return (r[headers[i]] = v, r) }, {}) });`
    
        2
  •  1
  •   Ali Faris    6 年前

    干得好

    var outputJSONObj = onlyData.map(function(a)
    {
        a.reduce(function(r, v, i)
        {
            return (r[headers[i]] = v, r);
        }, {})
    });