文章内容
2022/10/9 11:01:12,作 者: 黄兵
Javascript 字典
在静态类型的编程语言中,Dictionary(键/值对集合)对象有时会非常有用。虽然JavaScript本身不包含一个叫做 "Dictionary "的类型,但是它包含一个非常灵活的类型 "Object"。由于JavaScript是一种动态类型的语言,所以JavaScript的 "对象 "类型是非常通用的。这种灵活性使得 "对象 "类型的使用方式与静态类型的语言(如C#)相比可能显得有些奇怪。
在 JavaScript 中创建一个字典
虽然在 JavaScript 中没有 "Dictionary "类型,但实际上创建和使用一个 dictionary 对象非常容易。下面的步骤显示了如何用键/值对来创建和填充一个字典。
创建一个 Object:
var dict = new Object(); // or the shorthand way var dict = {};
如果你使用速记方法,你也可以在创建Dictionary时用Key/Value对初始化它。
var dict = { FirstName: "Chris", "one": 1, 1: "some value" };
填充对象上的值
这可以通过使用对象的索引器属性来设置数值,或者直接调用它,就像它是对象的一个标准属性一样。正如你将在下面看到的,键值可以是任何对象,不限于字符串。
// using the Indexer dict["one"] = 1; dict[1] = "one"; // add new or update property dict["Age"] = 42; // direct property by name // because it's a dynamic language dict.FirstName = "Chris";
迭代键/值对
一个简单的JavaScript "for "循环可以用来遍历你的新字典:
for(var key in dict) { var value = dict[key]; // do something with "key" and "value" variables }
通过使用 "for(var key in dict) "方法对对象进行迭代,你能够轻松地访问包含的所有键/值对。这个方法将对每个 "key "值进行迭代,它是对象上的索引,可以用来访问相关的值。
直接访问键/值对
可以通过索引器直接访问字典对象上的键/值对,也可以像直接访问对象上的一个属性一样:
// using indexer var name = dict["FirstName"]; // as property var name = dict.FirstName;
函数也可以是键或值!
由于JavaScript是一种功能语言,函数也是对象。因此,函数也可以作为你的字典上的键/值。对于字典的键,这确实是有意义的,因为字典实际上只是一个对象,它可以有函数/方法在上面。但是对于最熟悉非函数式编程语言的开发者来说,使用函数作为值可能不是最明显的。
下面是一些在字典的键和值中使用函数的例子:
var dict = {}; var f = function() { // do something }; // setup Function as Value dict['method'] = f; // setup Function as Key dict[f] = 'some value'; // execute Function from Value dict['method'](); var method = dict.method; method(); // get value for Key var val = dict[f];
以上就是本文的全部内容。
英文原文:JavaScript Basics: How to create a Dictionary with Key/Value pairs
评论列表