2011-03-28 37 views
10

我试图创建一个地图就像下面的例子...如何在javascript中创建动态地图键?

var myMap= {"one": 1,"two": "two","three": 3.0}; 

所以,我重复他们像:

for (var key in myMap) { 

window.alert("myMapmap property \"" + key + "\" = " + myMap[key]); 

} 

如果我的数据是动态的...,我想将它们中的每一个添加到地图中...代码应该如何?我预计关键是不是静态的......我的意思是从其他来源,如数据库取得的数据,这是以前没有定义..

由于之前

回答

17
var dataSource = ...; 
while (var o = dataSource.get()) { 
    myMap[o.key] = o.value; 
} 

for (var key in myMap) { 
    alert("key : " + key + " value : " + myMap[key]); 
} 

你可以简单地写一个对象使用数组类似的语法。

如何以及在何处获取数据取决于您。

+0

如何清空,如果它之前填补了地图的感谢\ ... – Sthepen 2011-03-29 09:59:28

+1

@Stephen'MYMAP = {}'复位它到一个空的地图。 – Raynos 2011-03-29 10:57:09

+0

如何删除特定元素? – ffleandro 2012-07-05 00:11:04

7

动态可以使用这个标志的添加:

var myMap = {}; // Create empty map 
myMap["some" + "dynamic" + "key"] = "some" + "dynamic" + "variable";