鍍金池/ 問(wèn)答/HTML/ 數(shù)組合并方法

數(shù)組合并方法

var arr1=['name', 'age', 'home']
var arr2=[['a', 'b', 'c', 'd', 'e'], [1,2,3,4,5], ['one', 'two', 'three', 'four', 'five']]
var arr3=[{'name':'a','age':1, 'home':'one'}, {'name':'b','age':2, 'home':'two'}, {'name':'c','age':3, 'home':'three'}, {'name':'d','age':4, 'home':'four'}, {'name':'e','age':5, 'home':'five'}];
已知數(shù)組1和2,求寫一種方法得到數(shù)組3的形式

回答
編輯回答
朽鹿

var arr1=['name', 'age', 'home']
var arr2=[['a', 'b', 'c', 'd', 'e'], [1,2,3,4,5], ['one', 'two', 'three', 'four', 'five']]
arr2[0].map((item, index) => {

return arr1.reduce((a, b, i) => (a[b] = arr2[i][index], a), {})

})

2018年6月12日 02:14
編輯回答
不將就
function trans (names, arr) {
  let result = []
  for (let i = 0, len = arr[0].length; i < len; i++) {
    let obj = {}
    names.forEach((name, index) => {
      obj[name] = arr[index][i]
    })
    result.push(obj)
  }
  return result
}

var arr1=['name', 'age', 'home']
var arr2=[['a', 'b', 'c', 'd', 'e'], [1,2,3,4,5], ['one', 'two', 'three', 'four', 'five']]
trans(arr1, arr2)
2017年6月8日 05:49