我试图编写一个脚本,使用getDisplayValues()将值从电子表格中的列拉到数组中,并将不同的元素相互比较。但是,当比较两个元素时,即使它们不是,它们也总是被评估为不相等。这似乎是因为所有元素都是对象,尽管getDisplayValues()应该返回字符串。
false
object
object
日志
start.date <- c("2015-01-10","2015-01-11","2015-02-24")
end.date <- c("2015-03-10","2015-04-01","2015-06-13")
date10 <- data.frame(cbind(start.date,end.date))
date10$start.date <- as.character(date10$start.date)
date10$end.date <- as.character(date10$end.date)
str(date10)
如何才能正确评估?
答案 0 :(得分:0)
getRange method返回一个Range,它是一个二维数组,即使你有一个列。你必须比较可能的结果:
var ids = sheet.getRange(row,col,sheetHeight).getDisplayValues();
//comparing identical elements
Logger.log(ids[4][0] == ids[5][0]);
Logger.log(typeof(ids[4][0]));
Logger.log(typeof(ids[5][0]));
答案 1 :(得分:0)
试试这个,只是代码中的一小部分内容。
var ids = sheet.getRange(row,col,sheetHeight).getDisplayValues().filter(String).toString();
//comparing identical elements
Logger.log(ids[4] == ids[5]);
Logger.log(typeof(ids[4]));
Logger.log(typeof(ids[5]));