-2

I am having hard time writing the below line in normal JS Syntax as IE doesn't support ES6 JavaScript.

Updating the question.

My Input is as follows.

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), {}));

and my output from the variable outputJSONObj is as follows.

[
{
"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"
}
]

Please rewrite in normal syntax using functions.

Jyotirmaya Prusty
  • 278
  • 1
  • 8
  • 25

2 Answers2

1
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) }, {}) });`
Hassan Imam
  • 21,956
  • 5
  • 41
  • 51
yuan zhu
  • 66
  • 3
1

here you go

var outputJSONObj = onlyData.map(function(a)
{
    a.reduce(function(r, v, i)
    {
        return (r[headers[i]] = v, r);
    }, {})
});
Ali Faris
  • 17,754
  • 10
  • 45
  • 70