繁体   English   中英

将数据动态添加到 javascript 地图

[英]Dynamically add data to a javascript map

有没有办法可以在javascript中动态地将数据添加到地图中。 一个map.put(key,value) 我正在为 javascript 使用 yui 库,但没有看到任何支持它的内容。

那么任何Javascript对象的功能都像一个“地图”

randomObject['hello'] = 'world';

通常人们为此目的构建简单对象:

var myMap = {};

// ...

myMap[newKey] = newValue;

编辑 - 具有明确的“放置”功能的问题是,你必须努力避免让函数本身看起来像地图的一部分。 这不是一个真正的Javascripty事情。

2014年2月13日 -现代JavaScript有设施 ,用于创建不枚举对象的属性,这是很容易做到。 但是,仍然存在这样一种情况,即“可放置”属性(可枚举与否)将声明属性名称“put”并使其不可用。 也就是说,每个对象仍然只有一个命名空间。

Javascript现在有一个名为Map的特定内置对象,你可以调用如下:

   var myMap = new Map()

您可以使用.set更新它:

   myMap.set("key0","value")

这具有可用于处理查找的方法的优点,例如boolean .has

  myMap.has("key1"); // evaluates to false 

您可以在调用Map对象上的.get之前使用它来处理查找不存在的键

我喜欢这种方式来实现这一目标

const M = new Map(Object.entries({ 
  language: "JavaScript" 
}));

console.log(M.size); // 1 
console.log(...M); // ["language", "JavaScript"]

// (1) Add and update some map entries 
M.set("year", 1991); 
M.set("language", "Python");

console.log(M.size); // 2 
console.log(...M); // \["language", "Python"\] ["year", 1991]

在打字稿中

 let ar = [1, 2, 3, 4, 5, 6]; let map = new Map<number, string>(); ar.forEach(value => { map.set(value, 'value'+ value); }); console.log(map, 'map data');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM