TG Telegram Group & Channel
Google Таблицы | United States America (US)
Create: 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] ?? '-' )})
}


Таблица с примером

Мы сделали пользовательскую функцию, в функцию задаём ячейку с данными и строку с заголовками

Функция парсит объекты и заполняет ячейки, если ключ / заголовок не найден (выделенные столбцы) – возвращает прочёрк.

Итак, как же работает это чудо –

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] ?? '-' )})
}


Таблица с примером


>>Click here to continue<<

Google Таблицы




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)