mrusklon
@mrusklon
Не получается? Яростно гугли!

Как создать массив в зависимости от условия в jquery?

Есть таблица:

<table>
    <tr>
        <td><input type="hidden" value="some value"></td>
        <td><input class="price" type="text" value="0"></td>
    </tr>
    <tr>
        <td><input type="hidden" value="some value"></td>
        <td><input class="price" type="text" value="50"></td>
    </tr>
    ...
</table>

Надо собрать все данные в ней и занести в массив, если у инпута с классом price value != 0.

Я не пойму саму логику, если я соберу массив сразу, будет например массив из всех tr, внутри будет все что мне нужно, а как исключить из массива тот tr у которого внутри .price !=0?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const data = $('.price')
  .filter((i, n) => +n.value)
  .closest('tr')
  .find('input[type="hidden"]')
  .get()
  .map(n => n.value);

или

const data = Array
  .from(document.querySelectorAll('.price'))
  .filter(n => +n.value)
  .map(n => n.closest('tr').querySelector('input[type="hidden"]').value);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы