在Javascript中创建类似字典对象的.net

Sha*_*der 17 .net javascript jquery extjs4 lodash

我想在JavaScript中创建一个对象,它将值存储在键,值对中,我应该能够传递一些键,并且应该能够获得它的值.在.NET世界中,我们可以使用字典类来实现这种实现.我们在JavaScript世界中有任何选择吗?我正在使用ExtJs 4.1,所以如果你知道ExtJS中的任何选项,即使这样也行.

我尝试过类似的东西,但我无法通过钥匙获得价值.

var Widget = function(k, v) {
    this.key = k;
    this.value = v;
};

var widgets = [
    new Widget(35, 312),
    new Widget(52, 32)
];
Run Code Online (Sandbox Code Playgroud)

mus*_*fan 30

只需使用标准的javascript对象:

var dictionary = {};//create new object
dictionary["key1"] = value1;//set key1
var key1 = dictionary["key1"];//get key1
Run Code Online (Sandbox Code Playgroud)

注意:您还可以使用点表示法(即dictionary.key1)获取/设置您创建的任何"键"


如果你想要它的特定功能,你可以采取进一步的...

function Dictionary(){
   var dictionary = {};

   this.setData = function(key, val) { dictionary[key] = val; }
   this.getData = function(key) { return dictionary[key]; }
}

var dictionary = new Dictionary();
dictionary.setData("key1", "value1");
var key1 = dictionary.getData("key1");
Run Code Online (Sandbox Code Playgroud)

  • 而不是{},使用:var dictionary = Object.create(null); 这样,您就可以得到一个没有原型的对象. (6认同)