javascript - 在javascript中创建一个 "Dictionary"

标签 javascript

在 C# 中,我有一个具有 2 个属性的模型和一个带有字符串键的字典:

public class Model 
{
    public string Route { get; set; }
    public string Template { get; set; }
}

Dictionary<String, Model> models;

关键是模型名称,模型是类模型的实例。

我需要在 Javascript 中创建一个类似的结构,在其中我可以从给定键的“字典”中获取项目,或者查找“字典”中是否存在具有特定键的项目。

Javascript 中有什么东西可以复制这个吗?

最佳答案

您可以创建一个函数来表示字典中的随机项目:

function Model(route, template)
{
    this.route = route;
    this.template = template;
}

然后你可以创建一个如下所示的对象:

var dictionary = { 
    "key1": new Model("route1", "template1"), 
    "key2": new Model("route2", "template2")
};

JavaScript 中,对象是键/值对的容器。

How we get the value for a specific key?

var model = dictionary["key1"];

var model = dictionary.key1;

如果key1不是字典的键,那么您将得到modelundefined

How we set the value for a specific key?

dictionary.key5 = new Model("route5", "template5");

What happens if there is already the key5 ?

您只需为此键分配一个新值。如果我们使用 c#,就会发生这种情况。

上面我们使用了构造函数模式,以便我们创建字典的值。这是创建具有相同属性的对象的常用模式。

关于javascript - 在javascript中创建一个 "Dictionary",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28567906/

相关文章:

php - 如何以设定的时间间隔单独显示行?

javascript - 选中的单选按钮显示一个 div

javascript - 使用 Docker 部署 MERN 应用程序时 NGINX 出现 Socket.io 错误

javascript - 定制组件 IONIC 4

javascript - Zapier 代码 (JS) + Twitter API - 发布收藏夹/创建

javascript - Uncaught TypeError : $template. get 不是一个函数

javascript - 如何使用knockoutjs在点击函数中传递固定参数?

javascript - HTML 日期选择器

javascript - 如何使用Jenkins部署网站

javascript - 在 HTML 音频标签中创建隐藏式字幕