我有两个变量,一个包含一个硬编码的日期,另一个具有一个带有单个值的数组(用于测试)。数组中的值与硬编码值匹配,但是我得到的返回值为-1(不匹配)。
python3 file.py
日志结果: Cur_date = 2018年7月31日星期二00:00:00 GMT-05:00
var_date_array = [2018年7月31日星期二00:00:00 GMT-05:00]
var_date_index = -1
我希望var_date_index返回0,这是数组中唯一的结果,并且日期匹配。我猜想它与[]有关,但是我对此并不陌生。 TIA
答案 0 :(得分:0)
我刚刚测试了您的代码,结果是
Logger.log(date_array)
返回
“ 2018年7月31日星期二00:00:00 GMT + 02:00”
同时
Logger.log(date_array.map(function(e) {return e[0]}))
返回
“ T”
date_array.map(function(e) {return e[0]})
没有给您数组元素
sales_sheet.getRange(index,9,last_row_cur,1).getValues()[0]
,
因为映射功能正在尝试从数组中检索数组元素。但就您而言
date_array
是一个数组元素。您实际上是在尝试访问一个元素的元素(而不是数组的元素),这就是导致错误的原因。
如果您只是将最后一行从更改为
var date_index = date_array.map(function(e) {return e[0]}).indexOf(cur_date);
到
var date_index = date_array.indexOf(cur_date);
它将起作用。
但是,如果要使用映射,则应将date_array定义为:
var date_array = sales_sheet.getRange(index,9,last_row_cur,1).getValues();