<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>
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>
不过这两个数组的不是固定的,不一定只有“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);
有两个不知道有多少行的table,但是只有两列,一列是标识,一列是数量。
现在要比较两个table中第一列相同标识对应的第二列的数量合计是否相同。
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;
}