Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как вывести следующую структуру из данных в html? (https://javascript.ru/forum/dom-window/76905-kak-vyvesti-sleduyushhuyu-strukturu-iz-dannykh-v-html.html)

gsdev99 25.02.2019 18:34

Как вывести следующую структуру из данных в html?
 
Всем привет, подскажите, пожалуйста, как правильно решить следующую задачу?
У меня есть некий объект:
const obj = {
  people: [
    {
      id: 1,
      firstName: 'John',
      lastName: 'Smith'
    },
    {
      id: 2,
      firstName: 'Brandon',
      lastName: 'Stone'
    },
    {
      id: 3,
      firstName: 'Sandoval',
      lastName: 'Pratt'
    },
    {
      id: 4,
      firstName: 'Bradley',
      lastName: 'Keegan'
    }
  ]
};

При вводе в input? например: bra
<input type="text" />
Я бы хотел получить:
const obj = {
  people: [
    {
      id: 2,
      firstName: 'Brandon',
      lastName: 'Stone'
    },
    {
      id: 4,
      firstName: 'Bradley',
      lastName: 'Keegan'
    }
  ]
};

Могу предположить, что подобное можно реализовать вот так (как один из вариантов)
const filterVal = document.querySelector('input').value.trim().toLowerCase().split(/\s+/);
const filterBy = ['firstName', 'lastName'];
const filtered = obj.people.filter(item => filterBy.some(prop => filterVal.some(val => item[prop].toLowerCase().includes(val))));

Если будут другие решения, буду благодарен идеям.
Итак, собственно сам вопрос:
Нпример, при click я получил необходимые данные
Мне необходимо вывести следующую стркутуру html:
<div class="autocomplete-suggestions__list">
  <div class="autocomplete-suggestion__item">
    <div>
      Keegan
      <strong>Bra</strong>
      dley
    </div>
    <div>
      <strong>Bra</strong>
      ndon Stone
    </div>
  </div>
</div>

рони 25.02.2019 20:20

gsdev99,
https://javascript.ru/forum/dom-wind...tml#post428640

gsdev99 27.02.2019 15:05

Спасибо.


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