我试图通过使用findIndex方法在coloumn中找到第一次出现的日期,恰好是'MMM dd'格式。
以下代码无法实现
function copyInvoiceDetailsToDB() {
var sss = SpreadsheetApp.getActiveSpreadsheet();
var ss = sss.getSheetByName('Import MT Order Sheet'); //Source Sheet
var compareDate = ss.getRange(1,4).getValue(); // Search item
///var mmm = Utilities.formatDate(compareDate,"IST", 'MMM dd');
var reldata = ss.getRange('A3:AA'+ a).getValues();
var tss = SpreadsheetApp.openById("1xhPD6tlJiU33_tdnC82p-
e9rWA8mmMtI0g9jDLkk6s0"); // sheet being searched
var ss = tss.getSheetByName('DB');
var ssdata = ss.getRange('A:A').getValues(); // Range containing the values
var a = ssdata.indexOf(compareDate);
Logger.log(a);
Logger.log(compareDate);
Logger.log(ssdata);
return;
生成以下日志。
请帮助我理解我一定要出错的地方。
[17-11-22 02:40:11:568 IST] -1.0
[17-11-22 02:40:11:569 IST] Nov 22
[17-11-22 02:40:11:572 IST] [[], [Sun Nov 19 00:00:00 GMT+05:30 2017], [Mon Nov 20 00:00:00 GMT+05:30 2017], [Mon Nov 20 00:00:00 GMT+05:30 2017], [Mon Nov 20 00:00:00 GMT+05:30 2017], [Tue Nov 21 00:00:00 GMT+05:30 2017], [Tue Nov 21 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00 GMT+05:30 2017], [Wed Nov 22 00:00:00
答案 0 :(得分:0)
这个答案怎么样?从您的问题来看,我理解如下。
indexOf()
检索值。indexOf()
从数组中检索值,则数组必须是1维数组。 Sandy Good指出了这一点。indexOf()
从一维数组中检索值时,它不会检索每个元素中包含的值,它会为每个元素检索相同的值。
["foo", "bar", "baz"].indexOf("ba")
为-1。
["foo", "bar", "baz"].indexOf("bar")
为1。
["foo", "bar", "baz"].indexOf("ba")
为-1。"bar".indexOf("ba")
为0。
"bbbar".indexOf("ba")
的情况下,结果是2。反映它们的修改点如下。
var a = ssdata.indexOf(compareDate);
Logger.log(a);
var a;
for (var i in ssdata) {
if (ssdata[i][0].indexOf(compareDate) > -1) {
a = i;
break;
}
}
Logger.log(a);
a
是包含值的索引" 11月22日"在ssdata
数组中。如果你想要行号,请加1。
a
为7。如果我误解了你的问题,我很抱歉。