Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как сформировать массив из HTML элементов на странице? (https://javascript.ru/forum/events/75040-kak-sformirovat-massiv-iz-html-ehlementov-na-stranice.html)

VasyOK 28.08.2018 02:35

Как сформировать массив из HTML элементов на странице?
 
Всем привет! Есть код, который формирует массив объектов (наверное это массив да?)

const car = (name, model, owner) => ({name, model, owner})

const cars = [
  car('Ford', 'Padjero', 'Peeter'),
  car('Lamborginy', 'Aventador', 'Alex')
]


Вопрос: как получить такой массив из уже выведенных элементов? Таких:
<div class="car num_1">      
  <div class="name">  Ford </div>  
  <div class="model">  Padjero  </div>  
  <div class="owner">  Peeter  </div>  
</div>
<div class="car num_2">      
  <div class="name">  Lamborginy  </div>  
  <div class="model">  Aventador  </div>  
  <div class="owner">  Alex </div>  
</div>


Если намудрил с вопросом можно не стесняться выражениях.

Aetae 28.08.2018 03:07

const cars = Array.from(
  document.querySelectorAll('.car'),
  element => ['name', 'model', 'owner'].reduce(
    (object, key) => (object[key] = element.querySelector('.' + key).textContent.trim(), object), {}
  )
);


Часовой пояс GMT +3, время: 20:11.