Я только что проверил ваш код, и в результате
Logger.log(date_array)
возвращает
«Вт 31 июля 00:00:00 GMT + 02: 00 2018»
, в то время как
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();