首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

ASP 一維陣列去重並合併對應值:雙重循環比較合併 B 陣列數值

     編輯:程式設計疑難解答

需求

陣列 A: ["A","B","A"],陣列 B: [1,2,3]。
輸出:A 4 (1+3), B 2。

VBScript 代碼

a = Split("A,B,A", ",")
b = Split("1,2,3", ",")
For i = 0 To UBound(a)
    For j = i + 1 To UBound(a)
        If a(i) <> "" And a(i) = a(j) Then
            a(j) = ""           ' 標記重複項清空
            b(i) = CInt(b(i)) + CInt(b(j)) ' 合併數值
            b(j) = 0
            Exit For
        End If
    Next
Next
For i = 0 To UBound(a)
    If a(i) <> "" Then MsgBox a(i) & " " & b(i)
Next

邏輯解析

  • 外層遍歷基準元素,內層尋找後續重複項。
  • 發現重複:將重複項標記空字串,數值累加到基準位置,重複位置歸零。
  • 最終輸出非空基準元素及其累加值。

現代化建議 (JavaScript/Node.js)

const a = ["A","B","A"];
const b = [1,2,3];
const map = new Map();
a.forEach((v,i) => map.set(v, (map.get(v)||0) + b[i]));
for (const [k,v] of map) console.log(k, v); // A 4, B 2
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved