How do I transform a two-dimensional array of JavaScript primitives to an array of objects with dynamically generated properties?

Given a JavaScript multi-dimensional array (data1) is there an easy way to transform it into an array of objects with dynamically generated property names (data2)? ES6 is fine.

var data1 = [
  [1,"Text A",4,2,"Yes"],
  [2,"Text B",3,3,"Yes"],
  [3,"Text C",1,2,"No"]
]

var data2 = [
  {"0":1,"1":"Text A","2":4,"3":2,"4":"Yes"},
  {"0":2,"1":"Text B","2":3,"3":3,"4":"Yes"},
  {"0":3,"1":"Text C","2":1,"3":2,"4":"No"}
]