如何在JavaScript中将两个数组作为键值对存储在一个对象中?

假设我们有两个长度相同的文字数组,如下所示:

const arr1 = ['firstName', 'lastName', 'age', 'address', 'isEmployed'];
const arr2 = ['Rahul', 'Sharma', 23, 'Tilak Nagar', false];

我们需要编写一个接受两个这样的数组的JavaScript函数。

该函数应构造一个对象,将第二个数组的元素映射到第一个数组的相应元素。

我们将使用Array.prototype.reduce()方法遍历数组,从而构建对象。

示例

为此的代码将是-

const arr1 = ['firstName', 'lastName', 'age', 'address', 'isEmployed'];
const arr2 = ['Rahul', 'Sharma', 23, 'Tilak Nagar', false];
const mapArrays = (arr1 = [], arr2 = []) => {
   const res = arr1.reduce((acc,elem,index) =>{
      acc[elem]=arr2[index];
      return acc;
   },{});
   return res;
};
console.log(mapArrays(arr1, arr2));

输出结果

控制台中的输出将是-

{
   firstName: 'Rahul',
   lastName: 'Sharma',
   age: 23,
   address: 'Tilak Nagar',
   isEmployed: false
}