我正在为Google Docs电子表格编写一个脚本,以读取导演列表并将它们添加到数组中,如果它们尚未出现在其中。
然而,我似乎无法使indexOf返回其他值,而不是对于已包含在数组中的元素返回-1。
有人能告诉我我做错了什么吗?或者指向更简单的方法吗?
这是我的脚本:
function readRows() {
var column = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("Director");
var values = column.getValues();
var numRows = column.getNumRows();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var directors = new Array();
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (directors.indexOf(row) == -1) {
directors.push(row);
} else {
directors.splice(directors.indexOf(row), 1, row);
}
}
for (var i = 2; i < directors.length; i++) {
var cell = sheet.getRange("F" + [i]);
cell.setValue(directors[i]);
}
};