簡體   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