如何在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 }