共计 1238 个字符,预计需要花费 4 分钟才能阅读完成。
字典
字典对象将键与值关联起来。键是字符串,其关联的值可以是数字或字符串。它是一个数据存储对象 – 它不进行任何拼写检查或特定语言的功能。
字典对象中的键名总是区分大小写的。这意味着键 "SCORE" 被视为与键 "score" 不同。
脚本编写
在使用 JavaScript 或 TypeScript 编码时,可以通过 IDictionaryInstance 脚本接口访问此对象的功能。(JavaScript 和 TypeScript 内置支持 Map,这是一种类似的数据结构,但这允许与事件表中使用的数据进行交互。)
示例
假设数字 100 以键 "score" 存储,字符串 "Joe" 以键 "name" 存储。结果存储如下表所示:
Key – – – – – – Value
name – – – – – Joe
score – – – – – 100
检索键 "name" 将返回 "Joe",同样检索 "score" 将返回 100。将 "score" 设置为 50 将更改键的值。
这就像在实例变量或事件变量中存储数据,但由于您可以使用字符串作为键,因此可以存储任意数量的值。
字典在检索值方面非常高效。即使您有一个带有数千个键的字典,读取值仍然非常快。数组通常要慢得多(例如,使用 IndexOf 表达式),因为它们必须扫描整个数组以查找元素。
设计字典
您可以使用 Construct 的字典编辑器(仅限付费计划)来设置字典的初始内容。您可以从项目栏创建一个新字典数据文件作为项目文件。在运行时,您可以使用 AJAX 对象加载项目文件,并使用字典的 Load 操作从 AJAX 的 LastData 表达式读取数据文件。
字典条件
比较值:比较为键存储的值。
有键:检查存储中是否存在键。
是否为空:当存储中没有键时为 True。
对于每个键:为存储中的每个键重复一次事件。CurrentKey 和 CurrentValue 表达式分别返回当前键及其值。
比较当前值:仅在“对于每个键”事件中有效。比较当前键的值。
字典操作
添加键:将新键添加到存储中,给定值。如果键已存在,则更新其值。
清除:从存储中删除所有键,使对象为空。
删除键:从存储中删除键及其值。如果键不存在,则无效。
设置键:更新已存在的键的值。如果键不存在,则无效。(与 Add key 不同,不会创建键。)
下载:调用浏览器下载包含字典内容的 JSON 格式文件。
加载:从先前使用 Download 操作、AsJSON 表达式或 AJAX 对象加载项目文件从字典对象检索的 JSON 数据加载所有键和值。
字典表达式
Get(key):返回为键存储的值,例如. 如果键不存在,则返回 0。
GetDefault(key, valueIfMissing):返回为键存储的值,但如果缺失,则返回不同的值。例如将返回键 "name" 的值(如果存在),否则将返回字符串 "guest"。
KeyCount:返回存储中的键数。
CurrentKey:在“对于每个键”事件中,这些分别返回当前正在迭代的键和其值。
AsJSON:以 JSON 格式返回字典对象的内容。稍后可以用 Load 操作重新加载,通过 AJAX 发送到服务器,保存到磁盘等。