有人可以解释为什么行Logger.log("%s EQUALS %s",col1[i],col2[i]);
永远不会被调用吗?林新Javascript,但基于this SO post我使用正确的运算符在if
声明比较。值保证是整数,或者是一个空单元格,如果这有所作为。Javascript等于比较不起作用
function SetFilter(){
var first_row_to_hide=4;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var maxrows=sheet.getMaxRows();
col1 = sheet.getRange(first_row_to_hide,3,maxrows,1).getValues();//getRange(row, column, numRows, numColumns) -- column: C
col2 = sheet.getRange(first_row_to_hide,4,maxrows,1).getValues();//column: D
for (var i = 1; i < col1.length; i++){
Logger.log("%s ? %s",col1[i],col2[i]);
if (col1[i] === col2[i]){
Logger.log("%s EQUALS %s",col1[i],col2[i]);
}//sheet.hideRows(i+first_row_to_hide);
}
Logger.log("DONE");
}
在列1和示例值2:
col1 col2 Log output of '%s ? %s'
1 2 [1.0] ? [2.0]
1 1 [1.0] ? [1.0]
0 0 [0.0] ? [0.0]
0 1 [0.0] ? [0.0]
4 5 [4.0] ? [5.0]
*〜是的,因为'COL1 [i]'和'col2 [i]'从不[相同](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Identity) – Phil
什么被记录'%s? %s'? – Ryan
请问您可以添加'col1 [i]'和'col2 [i]'的值。另外,严格的相等运算符需要两个操作数的类型相同。 – Agalo