Как написать цикл, который будет искать вглубь по элементам?

Друзья, я столкнулся со следующей проблемой: при создании цикла, который должен искать чекбоксы в листе, у меня не получается вернуть результат из функции. При переборе циклом for я обращался к родительскому элементу в котором лежит блок с чекбоксом, после чего забирал значение .prop(''checked') из инпута и записывал в переменную, заранее объявленную в этой же функции, и писал return переменнаяХранящаяРезультат, но увы ни к чему это не привело.

let checkbox-item = $('.files-item')

function isChecked() {
    let checkedItems = 0;
    for (let i = 0; i <checkbox-item.length; i++) {
        if ($(checkboxList[i]).find('input').prop('checked')) {
            checkedItems++;
            console.log('Элемент с чекбоксом ' + checkedItems);
            console.log('Порядковый номер ' + i);
            if ($(checkboxList[checkboxList.length - 1])) {
                return checkedItems
            }
        }
    }
}

function isChecked() {
    let checkedItems = 0;
    for (let i = 0; i <checkboxList.length; i++) {
        if ($(checkboxList[i]).find('input').prop('checked')) {
            checkedItems++;
            console.log('Элемент с чекбоксом ' + checkedItems);
            console.log('Порядковый номер ' + i);
              if ($(checkboxList[checkboxList.length - 1])) {
                  return checkedItems

              }                    
          }
      }
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="files-item">
  <div class="files-item__checkbox">
        <div class="checkbox">
          <input type="checkbox" id="1">
          <label for="1">
          </label>
        </div>
  </div>
</div>


Ответы (1 шт):

Автор решения: Sergey Danyleiko

Исходя из задания, будет коррентно возвращать массив выбранные элементы

Самый простой вариант $('.files-item input:checked') - вернет все выбранные чекбоксы внутри класса files-item.

Или вариант с перебором всех элементов

function isChecked() {
    const checkboxes = $('.files-item').find('input[type="checkbox"]');
    const checkedCheckboxes = [];

    for (let i = 0; i < checkboxes.length; i++) {
        const currentCheckbox = checkboxes[i];

        if($(currentCheckbox).prop("checked")) {
            console.log('Элемент с чекбоксом ' + currentCheckbox);
            console.log('Порядковый номер ' + $(currentCheckbox).attr('id'));

            checkedCheckboxes.push(currentCheckbox);
        }
    }

    return checkedCheckboxes;
}

Второй перебор

function isChecked() {
    const checkboxes = $('.files-item').find('input[type="checkbox"]');
    const checkedCheckboxes = [];

        Array.from(checkboxes).forEach((currentCheckbox) => {
            if($(currentCheckbox).prop("checked")) {
                console.log('Элемент с чекбоксом ' + currentCheckbox);
                console.log('Порядковый номер ' + $(currentCheckbox).attr('id'));

                checkedCheckboxes.push(currentCheckbox);
            }
        });


    return checkedCheckboxes;
}
→ Ссылка