Google Apps Script - 2 переменные измерения - PullRequest
0 голосов
/ 27 сентября 2019

Я не очень понимаю, как создать 2 переменных измерения / массива в Google Apps Script.Следующий код дает тот же результат (12), даже переменные разные.Что я делаю не так?

function test(){
var Latitude = [20,20];

Latitude[1,2] = 15;
Latitude[5,2] = 12;

SpreadsheetApp.getActiveSpreadsheet().getRange('A1').setValue(Latitude[5,2]);
SpreadsheetApp.getActiveSpreadsheet().getRange('B1').setValue(Latitude[1,2]);
}

1 Ответ

0 голосов
/ 27 сентября 2019
  • Двумерные массивы - это массивы, вложенные в массив : [[1,2],[3,4]]
  • Внутренние массивы - это строки: [1,2]
  • Элементы внутреннего массивазначения столбца: 1
  • Доступ к значениям массива осуществляется с помощью индекса: row1 = arr[0]; row1Col1 = arr[0][0]
  • Оператор запятой в JavaScript оценивает каждое выражение и возвращает значение последнего выражения.

Этот фрагмент демонстрирует, что происходит:

function test() {
  var Latitude = [20, 20]; //1D array

  Latitude[(1, 2)] = 15; //([1,2]) is evaluated as [2],the third element
  console.log('Latitude is now:'); //[20,20,15]
  console.log(Latitude);
  Latitude[(5, 2)] = 12; //Again setting [2] as 12
  console.log('Latitude is now:'); //[20,20,12]
  console.log(Latitude);
  console.info('Latitude[18,1] is:' + Latitude[(18, 1)]); //=Latitude[1]
  console.info('Latitude[18000,1] is:' + Latitude[(18000, 1)]); //=Latitude[1]

  /** 2D Array example */
  console.info('2D ARRAY:');
  var arr2d = [[1, 2], [3, 4]];
  console.info('arr2d === ' + JSON.stringify(arr2d));
  arr2d.map(function(row, i) {
    console.info('Row' + i + ' is array: ' + JSON.stringify(row)); //=arr[i]
    row.map(function(column, j) {
      console.info('Column is: ' + column); //=arr[i][j]
      console.info('arr2d[' + i + '][' + j + '] is: ' + arr2d[i][j]);
    });
  });
}
test();

На практике:

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