let arr2json = (arr,propertyname)=>arr.reduce((total,next)=>Object.assign(total,{[next[propertyname]]:next}),{})
let arr = [
{name:"北京",age:100},
{name:"上海",age:99},
{name:"深圳",age:98},
{name:"广州",age:97},
{name:"重庆",age:96},
{name:"苏州",age:95},
{name:"成都",age:94},
{name:"武汉",age:93},
{name:"杭州",age:92}
]
let arr2json = (arr,propertyname)=>arr.reduce((total,next)=>Object.assign(total,{[next[propertyname]]:next}),{})
console.log(arr2json(arr,'name'))
输出为:
{ '北京': { name: '北京', age: 100 },
'上海': { name: '上海', age: 99 },
'深圳': { name: '深圳', age: 98 },
'广州': { name: '广州', age: 97 },
'重庆': { name: '重庆', age: 96 },
'苏州': { name: '苏州', age: 95 },
'成都': { name: '成都', age: 94 },
'武汉': { name: '武汉', age: 93 },
'杭州': { name: '杭州', age: 92 } }