Как определить, что массивы равны

Создаю 2 массива, считывая один и тот же (!) набор ячеек на листе spreadsheet. Но при сравнении эти массивы почему-то оказываются не равны друг другу.

  var sm = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
  var arr1 = sm.getRange(2, 1, 1, 2).getValues();
  var arr2 = sm.getRange(2, 1, 1, 2).getValues();

  if(arr1 == arr2) {
    Logger.log("equal");
  } else {
    Logger.log("not equal");
  }

Результат "not equal".

Но почему?!!!


Ответы (1 шт):

Автор решения: contributorpw

В JS массивы являются объектами. Они ссылаются на разные области памяти, т.о. неравны.

Минимальный код для сравнения

if(JSON.stringify(arr1) === JSON.stringify(arr2)) ...
→ Ссылка