【发布时间】:2021-02-26 01:53:33
【问题描述】:
下面的代码没有给我预期的结果。
这是比较两个范围的行,虽然第二个范围的最后一行等于第一个范围的行,但它给我的结果是 false。
var entryValuesCom = sheet.getRange(7, 1, LastRowSource, 9).getValues();
var dbDataCom = dbSheet.getRange(2, 1, dbSheet.getLastRow(), 9).getValues();
var entryVlArray = new Array();
var dbArray = new Array();
for (var r = 0; r < entryValuesCom.length; r++) {
if (entryValuesCom[r][0] != '' && entryValuesCom[r][5] != 'Daily Ledger Bal') {
entryVlArray.push(entryValuesCom[r]);
}
}
for (var a = 0; a < dbDataCom.length; a++) {
if (dbDataCom[a][1] != '' && dbDataCom[a][8] == bank) {
dbArray.push(dbDataCom[a]);
}
}
var duplicate = false;
loop1:
for (var x = 0; x < entryVlArray.length; x++) {
loop2:
for (var j = 0; j < dbArray.length; j++) {
if (JSON.stringify(entryVlArray) == JSON.stringify(dbArray)) {
duplicate = true;
break loop1;
}
}
}
我已经尝试使用.join(),但仍然...
这是针对数千行的,所以这会在性能方面做得很好吗?
【问题讨论】:
-
请添加minimal reproducible example,包括示例数据。
标签: javascript arrays google-apps-script google-sheets