我在ASP中有一个如下所示的数组:
3,5,7,7,3,2,3
我想要做的是将它们与计数分组,这样我就可以:
Number Count
2 1
3 3
5 1
7 2
这可能吗?如果是这样的话?
答案 0 :(得分:7)
在asp-classic中没有关联数组..
替代方案是Scripting.Dictionary
所以
<%
dim ar
ar = array(3,5,7,7,3,2,3)
dim dictArray
set dictArray = server.CreateObject("Scripting.Dictionary")
for each i in ar
if dictArray.exists( i ) then
dictArray(i) = dictArray(i) + 1
else
dictArray(i) = 1
end if
next
%>
这创造了你想要的东西......现在就看到它
<%
for each i in dictArray
response.write( i & " : " & dictArray(i) & "<br />")
next
%>
答案 1 :(得分:0)
这是C#
中的一个例子public Dictionary<int, int> SortList(string text)
{
Dictionary<int, int> sortedArray = new Dictionary<int, int>();
List<int> array = new List<int>() { 1, 2, 2, 2, 5, 4 };
for (int i = 0; i < array.Count; i++)
{
if (DoesExsist(sortedArray, array[i]))
{
sortedArray[array[i]]++;
}
else
{
sortedArray.Add(array[i], 1);
}
}
return sortedArray;
}
private bool DoesExsist(Dictionary<int, int> array, int keyvalue)
{
foreach (KeyValuePair<int, int> item in array)
{
if (item.Key == keyvalue)
{
return true;
}
}
return false;
}
尚未测试过。但是应该工作,或者至少给你一个想法。
答案 2 :(得分:0)
你需要在VBScript中使用二维数组; http://www.4guysfromrolla.com/webtech/041101-1.2.shtml这将是@Eibx建议的Dictionary<int, int>
的表示。