Вводные данные
Есть набор значений следующего вида:
из которого необходимо сделать объект вида A:1 и так далее
Способ 1 — через forEach
function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const ws = ss.getSheetByName('ArrToObj');
const dataArr = ws.getDataRange().getValues();
const objData = {};
dataArr.forEach(elem => objData[elem[0]] = elem[1]);
console.log(objData);
}
где
const ss = SpreadsheetApp.getActiveSpreadsheet();
стандартный алгоритм получения данных с листа
const ws = ss.getSheetByName('ArrToObj');
const dataArr = ws.getDataRange().getValues(); ArrToObj
в массив dataArr
далее создаем новый объект const objData = {};
и методом forEach dataArr.forEach(elem => objData[elem[0]] = elem[1]);
проходимся по каждому элементу массива ( а у нас это массив массивов поэтому [elem[0]] = elem[1]
) и заполняем объект.
Способ 2 — встроенный метод класса Object
function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const ws = ss.getSheetByName('ArrToObj');
const dataArr = ws.getDataRange().getValues();
const objData = Object.fromEntries(dataArr);
console.log(objData);
}
По сути разница в одной строке:
const objData = Object.fromEntries(dataArr);
метод Object.fromEntries
преобразует список пар ключ-значение в объект, то есть как раз наш массив массивов.