方法一
const arr = [
['kobe', 24, '男'],
['curry', 30, '男'],
['james', 23, '男']
]
const result = arr.map(r => {
return {
name: r[0],
age: r[1],
gender: r[2]
}
})
console.log(result);
// [{name: 'kobe', age: 24, gender: '男'},
// {name: 'curry', age: 30, gender: '男'},
// {name: 'james', age: 23, gender: '男'}]
方法二
const arr = [
['kobe', 24, '男'],
['curry', 30, '男'],
['james', 23, '男']
]
const keys = ['name', 'age', 'gender']
const result = arr.map(r => {
let obj = {}
keys.forEach((k, i) => {
obj[k] = r[i]
})
return obj
})
console.log(result);
方法三
const arr = [
['kobe', 24, '男'],
['curry', 30, '男'],
['james', 23, '男']
]
const keys = ['name', 'age', 'gender']
const result = arr.map(r => keys.reduce((total, k, i) => {
total[k] = r[i]
return total
}, {}))
console.log(result);
方法四
const arr = [
['kobe', 24, '男'],
['curry', 30, '男'],
['james', 23, '男']
]
let keys = ['name', 'age', 'gender']
let convert = (source, keys) => source.map(r => keys.reduce((total, k, i) => {
total[k] = r[i]
return total
}, {}))
console.log(convert(arr, keys));