将数组转换为Hashmap(键值对)javascript

ViV*_*ekH 2 javascript arrays hashmap

我有一个名为territory的数组,其中包含以下内容

在此输入图像描述

我想在其中创建一个hashmap

key是id [每个对象的id属性]

value是整个对象

任何帮助/指针都一样吗?

谢谢

ssu*_*ube 5

您只需迭代数组并将每个元素指定为对象中的属性:

var hash = {};
var data = [...];
data.forEach(function (it) { hash[it.id] = it; });
Run Code Online (Sandbox Code Playgroud)

如果您有权访问lodash库,则可以使用indexBy一次转换整个数组:

var data = [...];
var hash = _.indexBy(data, 'id');
Run Code Online (Sandbox Code Playgroud)

下划线库也有一个indexBy行为方式相同的方法.