如何在JavaScript中执行关联数组/散列
我想用JavaScript计算/存储一些统计信息,C#中的等效代码在下面(我需要的功能是 - 键值对,字符串/整型键值对,通过键操纵值等),任何想法如何在JavaScript中实现相同的功能? 看起来像没有内置的字典或散列表?
Dictionary<string, int> statistics;
statistics["Foo"] = 10;
statistics["Goo"] = statistics["Goo"] + 1;
statistics.Add("Zoo", 1);
使用JavaScript对象作为关联数组。
关联数组:简单来说,关联数组使用字符串而不是整数作为索引。
创建一个对象
var dictionary = {};
Javascript允许您使用以下语法向对象添加属性:
Object.yourProperty = value;
另一种语法是:
Object["yourProperty"] = value;
如果您还可以使用以下语法创建键值对象映射
var point = { x:3, y:2 };
point["x"] // returns 3
point.y // returns 2
您可以使用for..in循环结构遍历一个关联数组,如下所示
for(var key in dict){
var value = dict[key];
/* use key/value for intended purpose */
}
var associativeArray = {};
associativeArray["one"] = "First";
associativeArray["two"] = "Second";
associativeArray["three"] = "Third";
如果您来自面向对象的语言,您应该阅读本文。
除非你有一个特定的原因,否则就使用一个普通的对象。 Javascript中的对象属性可以使用散列表样式语法来引用:
var hashtable = {};
hashtable.foo = "bar";
hashtable['bar'] = "foo";
现在可以将foo
和bar
元素引用为:
hashtable['foo'];
hashtable['bar'];
// or
hashtable.foo;
hashtable.bar;
当然,这意味着你的钥匙必须是字符串。 如果它们不是字符串,它们会被内部转换为字符串,所以它可能仍然有效,YMMV。
链接地址: http://www.djcxy.com/p/91911.html