Как определить, что массивы равны
Создаю 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)) ...