Я пытаюсь взять информацию из массива JSON в Google Sheet, взять последнюю хронологическую запись в массиве и скопировать ее в два соседних столбца
Данные, которые мне нужны, находятся в столбце L моего листа (начиная со строки 2) и в формате:
[{"id": "XX:123456", "timestamp": "2020-01-27T19:25:51.303"}, {"id": "XX:654321", "timestamp": "2020-01-27T19:40:37.06"}]
var ui = SpreadsheetApp.getUi();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("data");
var dataRange = sheet.getDataRange();
var lastRow = dataRange.getLastRow();
function parseData() {
let parseRange = sheet.getRange(1+1,11,lastRow-1,1); //col L
let values = parseRange.getValues();
let out = values.map(([row])=>{
let {id, timestamp} = JSON.parse(row).pop();
return [id, timestamp];
});
sheet.getRange(1+1, 12, lastRow-1, 2).setValues(out);
}
Это извлечение данных из массива, однако, поскольку сам JSON не отсортирован, я должен убедиться в этом принимает идентификатор и метку времени для объекта с последней меткой времени в хронологическом порядке