Scripting.Dictionary 对象(2)
作者:CNLei 来源:CNLei.blog 发布时间:2007-10-13 09:46:00
修改键或条目的值
可以通过改键的值,或通过修改与特定的键关联的条目的数据,来改变存储在 Dictionary 内的数据。下面的代码改变键为 MyKey 的条目中的数据。
ObjMyData.Item("MyKey"
) = "NewValue" ' In VBScript ObjMyData.Item('MyKey') = 'NewValue'; // In JScript
如果指定的键在 Dictionary 未找到,将在 Dictionary 中创建一个以 MyKey 为键,以 New Value 为其条目值的新的键/条目对。有意思的是,如果使用一个不存在的键来检索条目,不仅得到一个空的字符串(这是可以想到的),而且还在 Dictionary 里添加一个新的键/条目对,键即是指定的键,但条目的数据为空。
可以使用 Key 属性仅改变键的值而不改变与之对应的条目的数据。将一个已存在的键 MyKey 改变为 MyNewKey,可以用:
ObjMyData.Key("MyKey"
) = "NewValue" ' In VBScript ObjMyData.Key('MyKey') = 'NewValue'; // In JScript
如果指定的键未找到,则产生运行期错误。
设置比较模式
Dictionary 的 CompareMode 属性仅适用于 VBScript,不能在 JScript 中使用。当比较字符串键时,允许指定比较的方式。两个允许的值为 BinaryCompare(0) 和 TextCompare(1)。 BinaryCompare(0) 为二进制数对照(即区分大小写); TextCompare(1) 为文本对照(即不区分大小写)。
遍历 Dictionary
研究 Dictionary 时,有两个方法和一个属性需要特别注意,它们允许我们遍历存储在 Dictionary 里的所有键/条目对。 Items 方法用一个一维数组的形式返回 Dictionary 里所有的条目数据,而 keys 方法用一个一维数组返回所有已存在的键值。可以使用 Count 属性得到键或条目的数量。
例如,可以使用下列代码得到名称为 objMyData 的 Dictionary 中所有的键和条目值。注意,虽然 Count 属性保存了在 Dictionary 里的键/条目数量,但 VBScript 和 JScript 的数组总是从下标 0 开始的。因此,数组下标应从 0 到 Count-1。
'In VBScript:
arrKeys = objMyData.Keys 'Get all the keys into an array
arrItems = objMyData.Items 'Get all the items into an array
For intLoop = 0 To objMyData.Count – 1 'Iterate through the array
StrThisKey = arrKeys(intLoop) 'This is the key value
StrThisItem = arrItems(intLoop) 'This is the item (data) value
Next// In JScript
// Get VB-style arrays using the Keys() and Items() methods
var arrKeys = new VBArray(objMyData.Keys()).toArray();
var arrItems = new VBArray(objMyData.Items()).toArray();
for (intLoop = 0; intLoop < objMyData.Count; intLoop++) {
// Iterate through the arrays
strThisKey = arrKeys[intLoop]; // This is the key value
strThisItem = arrItems[intLoop]; // This is the item (data) value
}
在 VBScript 里也可以使用 For Each … Next 语句完成同样的功能:
' Iterate the dictionary as a collection in VBScript
For Each objItem in arrItems
Response.Write objItem & " = " & arrItems(objItem) & "<br>"
Next


猜你喜欢
- 前面已经介绍了关于Dreamweaver MX 2004的基本操作
- 本文实例讲述了python从任意长度的可迭代对象中分解元素操作。分享给大家供大家参考,具体如下:从某个可迭代对象中分解出N个元素,但是可迭代
- 目录一、路由配置二、vue页面嵌套三、嵌套联系一、路由配置const routes = [ { pat
- 1.图例legend基础语法及用法legend语法参数如下: matplotlib.pyplot.legend(*args, **
- 英文文档:reversed(seq)Return a reverse iterator. seq must be an object whi
- 前言今天给大家分享一下刷到的关于数值处理的算法题。虽然题目比较简单但是问题的处理方式值得我们学习。小学生算术涉及到加法进位、阶乘精确值用于计
- 前言多人协作的项目里,要保证代码的质量,自然离不开单元测试。开发完一个功能后肯定要对所写的代码进行测试,测试没有问题之后再合并到代码库供他人
- 什么是WebAPIWebAPI就是 DOM API + BOM APIDOMW3C标准给我们提供了一系列的函数,让我们可以操作:网页内容、网
- ShuffleNet是由旷世发表的一个计算效率极高的CNN架构,它是专门为计算能力非常有限的移动设备(例如,10-150 MFLOPs)而设
- 三角函数如果我们以OP作为圆的半径r,以o点作为圆的圆心,圆上的点的x坐标就是r * cos a ,y坐标就是 r * sin a。pyth
- 1. 真值测试所谓真值测试,是指当一种类型对象出现在if或者while条件语句中时,对象值表现为True或者False。弄清楚各种情况下的真
- 介绍Django是一个Web框架——一套用于帮助开发交互式网站的工具。Django能够响应网页请求,还能让我们更轻松地读写数据库、管理用户等
- 1. 数据处理中很恶心,出现 RuntimeWarning: divide by zero encountered in divide发现自
- Django 中,html 页面通过 form 标签来传递表单数据。对于复选框信息,即 checkbox 类型,点击 submit 后,数据
- 纯代码通过神经网络实现线性回归的拟合参考链接中的文章,有错误,我给更正了。并且原文中是需要数据集文件的,我直接给替换成了一个数组,采用直接赋
- 【译者的话】我们曾经在《透视色轮》一文中探讨过色轮的构成及作用,但你可能更多的只是将其作为了解颜色关系的一个工具,却不一定将其作为实际设计中
- 问题描述:最近用jstree遇到一个问题,父节点选中时,被禁用的子节点也会选中如下解决方案:1、 将jstree升级到最新的版本,v3.3.
- 一、数据备份1、使用mysqldump命令备份mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文
- 可能是因为编译太简单了,golang 并没有一个官方的构建工具(类似于 java 的 maven 和 gradle之类的),但是除了编译,我
- '把pattern 又修改了下'code