Скрипт Google Apps: как удалить указанные c символов из двумерного массива - PullRequest
0 голосов
/ 13 апреля 2020

В скрипте Google Apps как вы проходите через двумерный массив и удаляете указанные c символов? Например, если я хотел удалить «;» символ я мог бы использовать .replace (";", "") , но как вы пропустите это через каждую строку и каждый столбец массива? Я думаю, что это может быть настройка, начиная со следующей формулы, но просто нужно найти для функции в середине:

var cleanedarray = originalarray.map(function (row){         });

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

Ответ:

Вы можете использовать внутреннюю функцию отображения внутри исходной карты, чтобы заменить все вхождения в двумерном массиве, возвращаемые .getValues().

Код:

function replaceAll() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  sheet.getDataRange().setValues(
    sheet.getDataRange().getValues().map(
      x => x.map(
        y => y.replace(';', ',')
      )
  ));
}

Надеюсь, это полезно для вас!

Ссылки:

0 голосов
/ 13 апреля 2020
function removeCharacter(ch) {
  var ch=ch||';';
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getActiveSheet();
  const rg=sh.getDataRange();
  const re=new RegExp(ch,'g');//build the regex with RegExp
  var v=rg.getValues();
  v.forEach(function(r,i){
    r.forEach(function(c,j){
      v[i][j]=c.toString().replace(re,'');
    });
  });
  rg.setValues(v);  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...