«Reduce» приводит к неожиданным результатам при использовании с массивом getValues ​​() - PullRequest
0 голосов
/ 13 марта 2019

У меня возникают проблемы с пониманием того, как «уменьшить» работает в этом контексте.

Я пытаюсь загрузить содержимое электронной таблицы в массив и затем применить уменьшить , чтобы получить одно значение.

var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

function updateValues(){
  dataRangeSearch = activeSheet.getRange(1,1,activeSheet.getLastRow(),activeSheet.getLastColumn());
dataSearch0 = dataRangeSearch.getValues();
Logger.log("dataSearch0: " + dataSearch0);
  dataSearch = dataRangeSearch.getValues().reduce(function (a, b) {
    return a.concat(b);
  });;
}
updateValues();
Logger.log("dataSearch: " + dataSearch);

Я ожидал, что после вызова функции updateValues ​​() результат, сохраненный в dataSearch, будет одним значением, состоящим из всех данных в электронной таблице, соединенных вместе. Но это не то, что происходит.

Просмотр журнала:

[19-03-13 10: 33: 46: 515 PDT] dataSearch0: R1C1, R1C2, R1C3, R2C1, R2C2, R2C3

[19-03-13 10: 33: 46: 516 PDT] Поиск данных: R1C1, R1C2, R1C3, R2C1, R2C2, R2C3

dataSearch0 - это то, что я и ожидал, просто список содержимого электронной таблицы.

Я не понимаю, почему dataSearch является тем, чем он является, потому что он идентичен dataSearch0, и я ожидал, что результат сокращение даст одно значение, согласно тому, что я прочитал в W3schools:

Метод redu () уменьшает массив до одного значения. Метод redu () выполняет предоставленную функцию для каждого значения массива (слева направо). Возвращаемое значение функции сохраняется в аккумуляторе (результат / итог).

Но результатом накопления является не одно значение, а массив.

Буду признателен за помощь в понимании того, как уменьшение работает в этом контексте, а также как достичь моей цели (получить единственное значение, состоящее из всех данных электронной таблицы). Я хочу это, чтобы я мог искать первое вхождение строки, состоящей из ожидаемого содержимого 3 горизонтально расположенных ячеек электронной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...