gpt4 book ai didi

javascript - 从两个数组构造对象

转载 作者:行者123 更新时间:2023-11-29 16:38:35 24 4
gpt4 key购买 nike

我有两个列表,我想将它们组合为键值对:

keys = ['Jan 2016', 'Feb 2016', 'Mar 2016'];

values = ['janData', 'febData', 'marData'];

我想要的结果是:

dataMap = {
'Jan 2016': 'janData',
'Feb 2016': 'febData',
'Mar 2016': 'marData'
};

我查看了In Javascript a dictionary comprehension, or an Object `map`并看到有多种方法可以在给定现有数组的情况下使用 .reduce()assign() 构建对象。但是,当我有两个数组时,我无法弄清楚如何调整这些方法。

问题:如何从两个现有数组构造我的 dataMap 对象?

近年来,对象理解似乎有了一些更新。 assign() 似乎很新,但也许它不是完成我的任务的最佳工具。另外,我只使用 native JavaScript。

最佳答案

使用函数forEach

var keys = ['Jan 2016', 'Feb 2016', 'Mar 2016'];
var values = ['janData', 'febData', 'marData'];

let result = {};
keys.forEach((k, i) => result[k] = values[i]);

console.log(result);

您可以初始化Map对象:

映射构造函数

An Array or other iterable object whose elements are key-value pairs (arrays with two elements, e.g. [[ 1, 'one' ],[ 2, 'two' ]]). Each key-value pair is added to the new Map; null values are treated as undefined.

var keys = ['Jan 2016', 'Feb 2016', 'Mar 2016'];
var values = ['janData', 'febData', 'marData'];

let result = new Map(keys.map((k, i) => [[k], values[i]]));

for (let key of result.keys()) {
console.log(`${key} = ${result.get(key)}`);
}

资源

关于javascript - 从两个数组构造对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48818545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com