Joh*_*isz 5 javascript ecmascript-6
我有一组统一的对象:
var objects = [{
id: 1,
name: "one"
}, {
id: 2,
name: "two"
}];
Run Code Online (Sandbox Code Playgroud)
我通过使用id每个对象的属性作为 Map 键将它们转换为 Map:
var map = new Map();
objects.forEach(obj => map.set(obj.id, obj));
Run Code Online (Sandbox Code Playgroud)
但是,我想在没有以下情况下进行转换:
set自己此外,我不觉得我应该为这个可能是原生的功能创建一个实用程序函数。
注意:搜索js array to map,或js convert array to map,或js map from array 的搜索查询都被石器时代的答案 with
Object或具有实用功能的解决方案所困扰。我找了这里原生的做法。
例如,我正在寻找在 C# 中将数组映射到字典的本机 JavaScript 等效项。
var map = list.ToDictionary(item => item.id);
Run Code Online (Sandbox Code Playgroud)
这非常简单和方便,但有趣的是Map.from,JavaScript 中没有(即使有Array.from)。
Joh*_*isz 17
我在写问题的时候做了我的研究,我觉得我应该把解决方案留在这里,因为它可能的实际应用有很多。
我正在寻找在 C# 中将数组映射到字典的本机 JavaScript 等效项
考虑到aMap可以用可迭代的2元素数组构造,其中每个内部数组的第一个元素用作键,第二个元素用作值,我相信这是原生JS等价物,也是最短的:
new Map(objects.map(obj => [obj.id, obj]));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8725 次 |
| 最近记录: |