小编Ada*_*amL的帖子

indexOf返回-1尽管对象在数组中 - Google Spreadsheet Scripts中的Javascript

我正在为Google Docs Spreadsheet编写一个脚本来读取导演列表,如果它们尚未出现在阵列中,则将它们添加到阵列中.

但是,对于包含在数组中的元素,我似乎无法使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]); …
Run Code Online (Sandbox Code Playgroud)

javascript arrays indexof google-sheets google-apps-script

8
推荐指数
1
解决办法
2万
查看次数