Javascript 使用对象键值对的数组值将数组转换为对象

Javascript 使用对象键值对的数组值将数组转换为对象,javascript,arrays,Javascript,Arrays,我有一个数组: const arr = [ 'name=Jon', 'weapon=sword', 'hair=shaggy' ] 我想把它转换成这样一个对象: const obj = { name: 'Jon', weapon: 'sword', hair: 'shaggy' } 我尝试过用=分割数组,以获得键和值,然后映射新数组并将这些值发送到空对象,但没有得到正确的键 const split = arr.map( el => el.split('=') ) let obj = {

我有一个数组:

const arr = [ 'name=Jon', 'weapon=sword', 'hair=shaggy' ]
我想把它转换成这样一个对象:

const obj = { name: 'Jon', weapon: 'sword', hair: 'shaggy' }
我尝试过用
=
分割数组,以获得
键和
值,然后映射新数组并将这些值发送到空对象,但没有得到正确的键

const split = arr.map( el => el.split('=') )
let obj = {};
split.map( el => {
  const key = el[0];
  const val = el[1];
  obj.key = val;
  }
)

obj
返回为
{key:'shaggy'}
通常,要将数组转换为对象,最合适的方法是
。reduce

const arr=['name=Jon'、'wear=剑'、'hair=shaggy'];
const obj=arr.reduce((a,str)=>{
常量[key,val]=str.split('=');
a[键]=val;
返回a;
}, {});

控制台日志(obj)
通常,要将数组转换为对象,最合适的方法是
。reduce

const arr=['name=Jon'、'wear=剑'、'hair=shaggy'];
const obj=arr.reduce((a,str)=>{
常量[key,val]=str.split('=');
a[键]=val;
返回a;
}, {});
控制台日志(obj)您可以使用

const arr=['name=Jon'、'wear=剑'、'hair=shaggy']
const obj=Object.fromEntries(arr.map(v=>v.split('='))
console.log(obj)
您可以使用

const arr=['name=Jon'、'wear=剑'、'hair=shaggy']
const obj=Object.fromEntries(arr.map(v=>v.split('='))
console.log(obj)