1、需求:VBScript對(duì)數(shù)組的功能支持相對(duì)其他語(yǔ)言而言比較弱,然而在腳本應(yīng)用中經(jīng)常要使用數(shù)組,甚至對(duì)數(shù)組排序等,例如:遍歷某個(gè)目錄下的所有文件,并按某個(gè)規(guī)則依次保存到數(shù)組中。
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)公司、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)成都企業(yè)網(wǎng)站定制等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶(hù);涵蓋的客戶(hù)類(lèi)型包括:公路鉆孔機(jī)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶(hù)的一致贊美!2、實(shí)現(xiàn)方法:既然VBScript本身的功能不夠,那么可以調(diào)用.NET Framework相關(guān)組件(mscoree.dll)的功能,具體實(shí)現(xiàn)如下:
1> 寫(xiě)個(gè)數(shù)組排序函數(shù)(參數(shù):數(shù)組):
Function aSortArray(Array) Dim i,oArrayList, iElement,tempArray() 'CreateObject( "System.Collections.ArrayList" )即是調(diào)用了mscoree.dll,是.NET Framework的相關(guān)組件 Set oArrayList = CreateObject( "System.Collections.ArrayList" ) For iElement = 0 To UBound(Array) oArrayList.Add Array(iElement) Next '調(diào)用對(duì)象的排序方法 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 '說(shuō)明:由于oArrayList是對(duì)象,直接做為返回值,意義不大,因此需要對(duì)oArrayList對(duì)象再處理,只存儲(chǔ)它的值就可以了。 '上述排序結(jié)果輸出的數(shù)組是按從小到大排序的,若要得到從大到小的結(jié)果數(shù)組,將tempArray(i) = oArrayList.item(i) 改為 tempArray(ArrayList.Count-1-i) = oArrayList.item(i) 即可。
2>驗(yàn)證功能:
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
運(yùn)行,輸出結(jié)果如下: