Значения от чекбоксов в строчку через запятую и последний союз "и"

есть 3 класса с чекбоксами. На данный момент класс .sar нужно изменить, у него постоянно ставится запятая, а нужно чтобы только если идет перечисление и в конце не запятую, а союз и. На пример: модуль 1, модуль 2, модуль 3 и модуль 5. Подскажите как реализовать, в классе .model запятые нормально ставятся, а в .sar всего 1 чекбокс.

    <section><input type="checkbox" class="checkbox-toggler type" data-target="list-item_1-12" value="М"><b>М</b> — ТЕКСТ.
</section>
 <section><input type="checkbox" class="checkbox-toggler type" data-target="list-item_1-13" value="П"><b>П</b> — ТЕКСТ.</section>
  <fieldset>
    <legend><span style="font-size:25px">Выберите модуль</span></legend> 
    <input type="checkbox" class="checkbox-toggler model" data-target="list-item_1-14" value="модулем 1"><b>ППП</b> — модуль 1.<br>    <input type="checkbox" class="checkbox-toggler model" data-target="list-item_1-15" value="модулем 2"><b>ААА</b> — модуль 2.<br>
    <input type="checkbox" class="checkbox-toggler model" data-target="list-item_1-16" value="модулем 3"><b>ВВВ</b> — модуль 3<br>
    <input type="checkbox" class="checkbox-toggler model" data-target="list-item_1-17" value="модулем 4"><b>ООО</b> — модуль 4.<br>
<input type="checkbox" class="checkbox-toggler sar" data-target="list-item_1-23" value="модулем 5"><b>МММ</b>  — модуль 5.
  </fieldset></div>



var polygraphs = document.querySelectorAll('.polygraph');
polygraphs.forEach(function(polygraph){
  var fieldset = polygraph.querySelector('fieldset');
  polygraph.addEventListener('click', function(e){
    var target = e.target;
    if(target.tagName === 'INPUT'){
      var additionalName = polygraph.querySelector('.additionalName');
      additionalName.innerText = "";
    
      var checkedTypes = document.querySelectorAll('.type:checked');
      checkedTypes.forEach(function(elem){
        additionalName.innerText +=" "+elem.value;
      });

      var checkedModels = fieldset.querySelectorAll('.model:checked');
      if(checkedModels.length === 4){
        additionalName.innerText +="+";
     } else


 {
        checkedModels.forEach(function(elem, index){
          additionalName.innerText +=(index === 0 ? " с " : ", ")+elem.value; 
      
        });

 }

   }

var checkedTypes = document.querySelectorAll('.sar:checked');
      checkedTypes.forEach(function(elem){
        additionalName.innerText +=(elem === 0 ? " с " : ", ")+elem.value;
      });
  
 });
});
 

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