我在为function findDate (text, word)
下面代码的第二个函数(这个)设置参数时遇到问题。而不是使用此代码:
if (text2[text2.length - 2] === word) {
date = text2[text2.length - 1];
我想用这个:
if (text2[text2.length - position_word] === word){
date = text2[text2.length - position_date];
所以我可以在不同的上下文中调用这个函数。但是,当我向这个函数添加另外两个参数时,就像这样function findDate (text, word, position_word, position_date)
,它就不起作用了。而且我不明白出了什么问题(日志消息似乎没问题)。你能看出什么问题吗?我在这里缺少的 JS 函数属性是什么?
function setColumnIfromG() {
var s = SpreadsheetApp.getActiveSheet();
var input = s.getRange(2, 7, s.getLastRow(), 1).getValues();
var output = [];
for (var i = 0; i < input.length; i++) {
output.push([ findDate(input[i][0], 'common term') ]);
// output.push([ findDate(input[i][0], 'common term', -2, -1) ]);
s.getRange(2, 9, output.length, 1).setValues(output);
}
}
function findDate (text, word){
//function findDate (text, word, position_word, position_date){
Logger.log('text = '+ text);
var text1 = text.split(".Date");
Logger.log("text1 = "+ text1);
var date = 'no date informed';
for (var i=0; i<text1.length; i++) {
var text2 = text1[i].split(" ");
Logger.log("text2 = " + text2);
Logger.log("text2[text2.length - 2] = " + text2[text2.length - 2]);
Logger.log("text2[text2.length - 1] = " + text2[text2.length - 1]);
// Logger.log("text2.length = " + text2[text2.length]);
// Logger.log("position_word = " + position_word);
// Logger.log("position_date = " + position_date);
if (text2[text2.length - 2] === word){
date = text2[text2.length - 1];
// if (text2[text2.length - position_word] === word) {
// date = text2[text2.length - position_date];
}
else {
date = 'no date informed';
}
}
return date;
}
PS - 我知道“位置日期”不是 -1 而是text2.length - 1
. 所以,“位置日期”是真的text2.length - position_date
而不是位置日期。我输入这个名字只是为了让我记住这个 -1 与什么有关。