@ModestesGonze

Как разбить ячейки после определенных строк таблицы на массив?

Здравствуйте.
Демка тут
Подскажите как разбить данные таблицы на такой вид? То есть строка с классом .no это отдельный объект с вложенными значениями из следующих ячеек.
Скрин таблицы
[
  { 
   "title": "Базовая информация",
   "info": [
    { "subtitle": "Марка", "cell": "Cizeta" },
    { "subtitle": "Модель", "cell": "V16t" },
    // ... и т.д
   ],
  },
  { 
   "title": "Эксплуатационные характеристики",
   "info": [
    { "subtitle": "Расход топлива в городе", "cell": "24 л/100 км" },
    { "subtitle": "Топливо", "cell": "Бензин" },
    // ... и т.д
   ],
  }
]
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Array.prototype.reduce.call(
  document.querySelector('table').rows,
  (acc, n) => {
    if (!n.classList.contains('no')) {
      acc[acc.length - 1].info.push({
        subtitle: n.querySelector('th').textContent,
        cell: n.querySelector('td').textContent,
      });
    } else if (!n.querySelector('.no2')) {
      acc.push({
        title: n.querySelector('.car').textContent,
        info: [],
      });
    }

    return acc;
  },
  []
)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы