首页 > 解决方案 > 如何将两个数组组合成一个具有键值对的对象?

问题描述

我有 2 个数组,数组 a 包含键,数组 b 包含它们的值

let a = ['name', 'options', 'address', 'options', 'gender', 'options'];
let b = ['john doe', 'a', 'india', 'b', 'male', 'c'];

我想要这样的输出

 { 
  'name': 'john doe',
  'options': 'a, b, c',
  'address': 'india',
  'gender': 'male'
 }

标签: javascriptarraysobject

解决方案


使用Array.reduce

let a = ['name', 'options', 'address', 'options', 'gender', 'options'];
let b = ['john doe', 'a', 'india', 'b', 'male', 'c'];

let r = a.reduce((o,c,i) => {o[c] = o[c] ? o[c] + ", " + b[i]:b[i]; return o;}, {})
console.log(r);


推荐阅读