Arrays ASP Classic 2个重复阵列,2个无重复的新阵列并汇总
我有两个数组,一个带类别,一个带价格。这两个数组是连接在一起的,以便索引与它们匹配。我想从中得到2个新的阵列,没有重复的类别,但匹配的价格加起来 阵列1类别 Öppen 洛斯克/瓦滕 巴蒂尔贝赫尔 Öl Vin Vin 苹果汁 苹果汁 苹果汁 苹果汁 利克尔 利克尔 精灵 Förbrukningsmatrial Array2-SumSamFattArray 600,075 3157,38 0 7153 104 64 350 200 0 0 0 0 2643,736 0 这就是我想要的结果: 新第一阵列 Öppen 洛斯克/瓦滕 巴蒂尔贝赫尔 Öl Vin组合 混合苹果酒 利克尔利克尔合并 精灵 Förbrukningsmatrial 纽塞康阵列 600,075 3157,38 0 7153 168 vin的总和 550混合苹果酒 0利克尔合并 2643,736 0 我已经为此挣扎了两天。感觉我什么都试过了Arrays ASP Classic 2个重复阵列,2个无重复的新阵列并汇总,arrays,asp-classic,Arrays,Asp Classic,我有两个数组,一个带类别,一个带价格。这两个数组是连接在一起的,以便索引与它们匹配。我想从中得到2个新的阵列,没有重复的类别,但匹配的价格加起来 阵列1类别 Öppen 洛斯克/瓦滕 巴蒂尔贝赫尔 Öl Vin Vin 苹果汁 苹果汁 苹果汁 苹果汁 利克尔 利克尔 精灵 Förbrukningsmatrial Array2-SumSamFattArray 600,075 3157,38 0 7153 104 64 350 200 0 0 0 0 2643,736 0 这就是我想要的结果: 新第
如何组合这两个数组?如果您的原始数组是按类别排序的,就像您的示例中那样,那么它非常简单:遍历价格,边走边合计,每次类别更改时都移动到下一行。请注意,为了简单起见,我使用了2个二维数组,而不是4个一维数组 dim PriceList1,20'-事实上,我想这些可能来自一个数据库,其中 '-case您可能会使用GetRows,而不是显式地将其暗显为数组 总计1,20 迪姆,我 n=0 总计0,0= 对于i=0到UboundPricelist,2 如果Pricelist0,则为i&然后 如果价格表为0,则总计为0,n,然后为下一类别 n=n+1 Totals0,n=价格表0,i'-汇总类别 总计1,n=0’-初始化总计 如果结束 Totals1,n=Totals1,n+Pricelist1,i 如果结束 下一个 如果您的原始价目表不是按类别排序的,那么您需要在totals数组中循环查找适当的行(如果它存在),或者添加它(如果不存在),而不是在每次类别更改时简单地递增该行 价格表1,20 总计1,20 迪姆,我 dim j,maxN n=0:maxN=0 总计0,0= 对于i=0到UboundPricelist,2 如果Pricelist0,则为i&然后 如果Pricelist0,i Totals0,n则“-与前一行的类别不同 n=0 对于j=0到maxN 如果Pricelist0,i=Totals0,j,则找到类别 n=j 退出 如果结束 下一个 如果n=0,则“-未找到类别,因此将其添加到列表末尾 maxN=maxN+1 n=maxN Totals0,n=价格表0,i 总计1,n=0 如果结束 如果结束 Totals1,n=Totals1,n+Pricelist1,i 如果结束 下一个
请告诉我们你试过什么。在你的帖子中包含你的代码。当你可以使用一个多维数组时,为什么你要使用两个一维数组?@Martha:可能取决于他是如何获得提供的数据的。过了一段时间我才弄明白这个页面是如何工作的。我就是这样解决的。。也许不是最好的办法。真是管用。谢谢你的帮助
Dim NyBeskArray()`
Dim NySummaArray()
X=0
Z=0
Y=0
For Each item In SamFattBesk
Rubrik = SamFattBesk(X)
Tal = SumSamFattArray(X)
Tal =Ccur(Tal)
IF NOT RubrikOld = Rubrik THEN
ReDim preserve NyBeskArray(Z)
NyBeskArray(Z) = Rubrik
ReDim preserve NySummakArray(Z)
NySummakArray(Z) = Tal
Z = Z +1
ELSE
Y=X-1
SummaTal = Tal + TalOld
SummaTal = CCur(SummaTal)
ReDim preserve NySummakArray(Y)
NySummakArray(Y) = SummaTal
END IF
X=X+1
RubrikOld = Rubrik
TalOld = Tal
Next
%>