好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > asp兩組字符串數據比較合并相同數據

asp兩組字符串數據比較合并相同數據

熱門標簽:滴滴地圖標注上車點 無營業執照地圖標注教學 外呼系統怎么話費 地圖標注還可以做嗎 宿州防封外呼系統平臺 硅基電話機器人加盟 友邦互聯電銷機器人違法嗎 電銷機器人采購 高質量的電銷外呼系統
a1="sp2=20;sp1=34;"
a2="sp3=2;sp2=3;sp1=4;"
兩組字符串數據,將字符串中相同的數據值相加后得到新的一組數據
即“sp3=2;sp2=23;sp1=38”

(p.s 一個簡單的應用:商品二原有數量20件,商品一原有數量34件,新進貨或者新出售了商品二3件,商品一4件等類型模擬情況下計算出進貨量,銷售量和庫存量,小型的進銷存系統可采用這樣的方法)

那么如何實現兩組字符串數據比較合并相同數據?

第一,將兩組字符串數據進行連接組合

a3=a1a2
那么a3="sp2=20;sp1=34;sp3=2;sp2=3;sp1=4;"

第二,將a3中相同的數據進行值的相加

這里主要解決的是如何尋找到相同的數據

首先因為現在a3就是由 sp2、sp1、sp3、sp2和sp1組成,需要把相同的sp2和sp1單獨找出來再進行值得相加。

通過split函數分割“;”為分隔符獲得每塊數據和值。
即 s_array = split(a3,";")通過for i = 0 to ubound(s_array)循環我們可以獲得單獨的各項數據及值

其中每項的格式是類似“sp2=20”,要將sp2提取出來才能和同組中的數據進行比較,所以還需要獨立函數進行提取

Function getSPName(sp)
    getSPName = split(sp,"=")(0)
End Function

Function getSPNum(sp)
    getSPNum = split(sp,"=")(1)
end function

分別獲得“=”前的數據名稱和“=”后的數據值。

其次每塊數據都分解下來了,就是如何尋找到相同的數據名稱。
我們假設這樣的流程,首先將a3數組中的第一元素提取,通過和除第一元素之前以為的數據進行比較,如果有相同則進行相加。


s_array = split(a3,";")
for i = 0 to ubound(s_array)
    for j=i+1 to ubound(s_array)
        if getSPName(s_array(i)) = getSPName(s_array(j)) then
        Nums = Nums + Cint(getSPNum(s_array(j)))
        end if
    next
next

 

我們獲得了最終的值可以隨時將值賦到新的動態數組中,組合成最終的“組合數據”數組
redim Preserve result(p)
result(p) = getSPName(s_array(i))  "="  Nums



s_array = split(a3,";")
for i = 0 to ubound(s_array)
    for j=i+1 to ubound(s_array)
        if getSPName(s_array(i)) = getSPName(s_array(j)) then
        Nums = Nums + Cint(getSPNum(s_array(j)))
        end if
    next

    redim Preserve result(p)
    result(p) = getSPName(s_array(i))  "="  Nums
    p=p+1
next

 


這個里面勢必會遇到這樣的一個情況:當a3數組中的其后的某一元素總會與之前比較的相同的元素進行了運算,所以該元素就不能計入 for i = 0 to ubound(s_array)內的result(p) = getSPName(s_array(i))  "="  Nums動態數組中去。

如何解決不再運算比較已經被比較運算過的元素

我們必須對已經比較運算過的元素進行標記,比如a3數組中(a3="sp2=20;sp1=34;sp3=2;sp2=3;sp1=4;")取出sp2=20后會比較運算到后一個sp2=3,此時比較運算后將sp2=3的數組元素編號進行標記,下次循環比較時該元素不計在內。


s_array = split(a3,";")
for i = 0 to ubound(s_array)
    for j=i+1 to ubound(s_array)
        if getSPName(s_array(i)) = getSPName(s_array(j)) then
        Nums = Nums + Cint(getSPNum(s_array(j)))
        end if

        redim Preserve ID(q)
        ID(q) = j
        q = q + 1
    next

    redim Preserve result(p)
    result(p) = getSPName(s_array(i))  "="  Nums
    p=p+1
next

 

其中定義ID(q)=j就是將當前比較相同的該元素標記,并賦值于動態數組id(q),q默認定義為0,再次循環q=q+1
那么有力該標記,我們就可以有選擇性的選擇比較累加了。
定義函數


function IsInID(j)
    dim x
    IsInID = false
    for each x in ID
        if x = j then 
            IsInID = true
            exit function
        End if
    Next
end function

 


主要函數為


function mainhb(s)
s_array = split(s,";")
    for i = 0 to ubound(s_array)
        if not IsInID(i) then
            Nums = getSPNum(s_array(i))
            for j=i+1 to ubound(s_array)
                if getSPName(s_array(i)) = getSPName(s_array(j)) then 
                    Nums = Nums + Cint(getSPNum(s_array(j)))
                    redim Preserve ID(q)
                    ID(q) = j
                    q = q + 1
                end if
            next

            redim Preserve result(p)
            result(p) = getSPName(s_array(i))  "="  Nums
            p = p + 1
        end if
    next

    for each x in result
        mainhb=mainhbx";"
    next
end function

 


整體函數為


%
dim result()
dim ID()
dim p , q , Nums

p=0
q= 0 
Nums = 0

redim Preserve ID(q)
ID(q) = ""

s = "sp4=33;sp2=20;sp1=34;sp3=2;sp2=3;sp4=4;"
s = left(s,len(s)-1)
response.write mainhb(s)

function mainhb(s)
s_array = split(s,";")
    for i = 0 to ubound(s_array)
        if not IsInID(i) then 
            Nums = getSPNum(s_array(i))
            for j=i+1 to ubound(s_array)
                if getSPName(s_array(i)) = getSPName(s_array(j)) then 
                    Nums = Nums + Cint(getSPNum(s_array(j)))
                    redim Preserve ID(q)
                    ID(q) = j
                    q = q + 1
                end if
            next

            redim Preserve result(p)
            result(p) = getSPName(s_array(i))  "="  Nums
            p = p + 1
        end if
        'Nums = 0
    next

    for each x in result
        mainhb=mainhbx";"
    next
end function

Function getSPName(sp)
    getSPName = split(sp,"=")(0)
End Function


Function getSPNum(sp)
    getSPNum = split(sp,"=")(1)
end function

function IsInID(j)
    dim x
    IsInID = false
    for each x in ID
        if x = j then 
            IsInID = true
            exit function
        End if
    Next
end function
%> 


[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]

標簽:儋州 宣城 七臺河 錫林郭勒盟 雅安 江門 新余 廣元

巨人網絡通訊聲明:本文標題《asp兩組字符串數據比較合并相同數據》,本文關鍵詞  asp,兩組,字符串,數據,比較,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp兩組字符串數據比較合并相同數據》相關的同類信息!
  • 本頁收集關于asp兩組字符串數據比較合并相同數據的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 台湾大尺寸天花板电影| 美女裸片| www.国产在线观看| 好长?好硬?受不了?描写| ??爱情岛亚洲首页论坛 | 亚洲黄色成人| 私密按摩massageXXX| 国产伦精品一区二区三区千人斩| 黄色片网址在线观看| 性中国vodafonewifi| 亚洲自拍偷拍专区| 老鸭窝91久久久久精品色噜噜 | 国产真实乱了老女人视频| 3D 动漫 同人 触手 无尽| 黄色小说网址大全| 国产黄色影片| 公啊~嗯去厨房里做H辣文小说| 久久久久精品国产毛片售后服务| 三上悠亚痴汉电车| 久久免费99精品国产自在现线| 菠萝蜜一级毛片免费视频在线| 男人撞到宫颈很舒服为什么呢| 婷婷五点开心六点丁| 日韩免费| 欧美zozozo人禽交免费大片| 久久久久久久久波多野高潮| 欧美精品免费xxxxx视频| a级片视频网站| 啊啊啊啊啊嗯嗯| 久久亚洲综合国产精品99麻豆怎么下载 | 女模特献身被蹂躏小说| 情迷家教| 91在线视频直播| javbus老司机AV磁力| 1000又爽又黄禁片在线久| 九九色视频| 国内精品久久久久精品| 日韩有码视频在线| 日韩精品久久一区二区三区| 国产欧美一区二区精品性色9| 国产成人精品午夜福利200|