tgoop.com/google_sheets/739
Last Update:
Мы сделали пользовательскую функцию, в функцию задаём ячейку с данными и строку с заголовками
Функция парсит объекты и заполняет ячейки, если ключ / заголовок не найден (выделенные столбцы) – возвращает прочёрк.
Итак, как же работает это чудо –
1) мы не можем сразу превратить в объект то, что в строке у Владимира, чтобы структура {}, {},
...
стала валидной – добавляем внешний массив, то есть добавим[
и ]
к текстовой строке;`[${r}]`
2) структура ОК, но это по прежнему простая текстовая строка – сделаем из неё объект;JSON.parse(`[${r}]`)
4) дальше map
– цикл по вложенным объектам и внутри каждого объекта – еще один map
– по ячейкам заголовков, мы проверяем, есть ли в текущем объекте текущий ключ, если есть – достаём значение, если нет – возвращаем прочерк;
map всегда возвращает массив первоначальной структуры, в нашем случае это отлично – мы создаём нужный нам массив просто подменяя структуру массивов, которые обходим;
Функция целиком:function JsonToTable(r, head) {
return JSON.parse(`[${r}]`)
.map(object => {
return head[0].map(h => object[h] ?? '-' )})
}
Таблица с примером
BY Google Таблицы
Share with your friend now:
tgoop.com/google_sheets/739