<SCRIPT LANGUAGE="JavaScript">
var vIssArr = new Array();
vIssArr[0] = new Array("A", 10);
vIssArr[1] = new Array("A", 10);
vIssArr[2] = new Array("B", 20);
var vRecArr = new Array();
vRecArr[0] = new Array("A", 20);
vRecArr[1] = new Array("B", 10);
vRecArr[2] = new Array("B", 15);test(vIssArr,vRecArr,"A")?alert("合计不同"):alert("合计相同")
test(vIssArr,vRecArr,"B")?alert("合计不同"):alert("合计相同")function test(a,b,condition) {
var result = new Array(0,0);
result[0] = compare(a);
result[1] = compare(b);

return result[0]==result[1]?false:true;
function compare(arr)  {
var r = 0;
for (var i=0;i<arr.length;i++) {
if (arr[i][0]==condition) {
r += arr[i][1]
}
}
return r;
}
}
</SCRIPT>

解决方案 »

  1.   

    谢谢!!
    不过这两个数组的不是固定的,不一定只有“A”、“B”,有可能会很多很多。例如:vIssArr[0] = new Array("A", 10);
    vIssArr[1] = new Array("A", 10);
    vIssArr[2] = new Array("B", 20);
    .......vIssArr[n] = new Array("Z", 20);
      

  2.   

    其实最初的问题是这样的:
    有两个不知道有多少行的table,但是只有两列,一列是标识,一列是数量。
    现在要比较两个table中第一列相同标识对应的第二列的数量合计是否相同。
      

  3.   

    //求得tableID表格中,第一列标识为bs的对应的数量(第二列)和
    function getHJ(tableID,bs){
     var total = 0;
     for(var i=0;i<tableID.rows.length;i++){
      if(tableID.rows[i].cells[0].innerText == bs){
       var text = tableID.rows[i].cells[1].innerText;
       total += text;
      }
     }
     return total;
    }