十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、需求:VBScript对数组的功能支持相对其他语言而言比较弱,然而在脚本应用中经常要使用数组,甚至对数组排序等,例如:遍历某个目录下的所有文件,并按某个规则依次保存到数组中。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站设计、海阳网络推广、微信平台小程序开发、海阳网络营销、海阳企业策划、海阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供海阳建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
2、实现方法:既然VBScript本身的功能不够,那么可以调用.NET Framework相关组件(mscoree.dll)的功能,具体实现如下:
1> 写个数组排序函数(参数:数组):
Function aSortArray(Array) Dim i,oArrayList, iElement,tempArray() 'CreateObject( "System.Collections.ArrayList" )即是调用了mscoree.dll,是.NET Framework的相关组件 Set oArrayList = CreateObject( "System.Collections.ArrayList" ) For iElement = 0 To UBound(Array) oArrayList.Add Array(iElement) Next '调用对象的排序方法 oArrayList.Sort redim tempArray(oArrayList.count) for i=0 to oArrayList.Count-1 If oArrayList.item(i)<>"" Then tempArray(i) = oArrayList.item(i) End If Next aSortArray=tempArray End Function '说明:由于oArrayList是对象,直接做为返回值,意义不大,因此需要对oArrayList对象再处理,只存储它的值就可以了。 '上述排序结果输出的数组是按从小到大排序的,若要得到从大到小的结果数组,将tempArray(i) = oArrayList.item(i) 改为 tempArray(ArrayList.Count-1-i) = oArrayList.item(i) 即可。
2>验证功能:
Sub main Dim arrs,a,i arrs=Array(12,14,70,2,89,412,87,41,8,-7,60) a=aSortArray(arrs) for i=0 to UBound(a) If a(i)<>"" Then log.Message( a(i)) End If Next End Sub
运行,输出结果如下: