数组中的经典ASP计数出现并输出结果

时间:2015-09-17 18:16:10

标签: arrays forms asp-classic

我创建了一个字符串,需要对其进行简化,以便将数组中的正确信息传递给下一页。 date1 - date3是实际日期,但为了简单起见,我只需加入date1等等。

string= " date1,date2,date1,date3,date1,date2"
Array = split(string,",")

我需要输出/组织:

3 date1
2 date2
1 date3 

所以我可以传递信息

3,2015-09-09$2,2015-09-20$1,2015-09-25

1 个答案:

答案 0 :(得分:2)

您可能希望使用词典并将每个日期字符串存储为键。密钥的可以是计数(日期发生的次数)。

例如:

' Split dates into an array...
Dim a
a = Split("2015-09-09,2015-09-20,2015-09-09,2015-09-09,2015-09-20,2015-09-25", ",")

' Store each date into a dictionary and count the occurrences...
Dim d, dt
Set d = Server.CreateObject("Scripting.Dictionary")
For Each dt In a
    If d.Exists(dt) Then d(dt) = d(dt) + 1 Else d.Add dt, 1
Next

' Concatenate dictionary items...
Dim k, s
For Each k In d.Keys
    If Len(s) > 0 Then s = s & "$"
    s = s & d(k) & "," & k
Next

Response.Write s

输出:

3,2015-09-09$2,2015-09-20$1,2015-09-25