Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays ASP Classic 2个重复阵列,2个无重复的新阵列并汇总_Arrays_Asp Classic - Fatal编程技术网

Arrays ASP Classic 2个重复阵列,2个无重复的新阵列并汇总

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个新的阵列,没有重复的类别,但匹配的价格加起来

阵列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 我已经为此挣扎了两天。感觉我什么都试过了


如何组合这两个数组?

如果您的原始数组是按类别排序的,就像您的示例中那样,那么它非常简单:遍历价格,边走边合计,每次类别更改时都移动到下一行。请注意,为了简单起见,我使用了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
    %>