Почему в массив записывается всего одно значение?

Почему в массив записывается всего одно значение и в HTML вносится всего один блок даже если было произведено много кликов?

`let arr1 = [];
   a.addEventListener("click", function() {

     let objPush = {
       name: addMessage.value
     }
       arr1.push(objPush);
        puhItn();
    });

 function puhItn() {
   let ttt = "";
arr1.forEach(function(item, i)  {
  ttt += `<div class="so">
       <li>${item.name}</li>
       <input type="checkbox" name="" value="">
       </div>`;
       b.innerHTML = ttt;

});
}`

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

Автор решения: Алексей Шиманский

Всё работает ¯\_(ツ)_/¯

let arr1 = [];
let a = document.getElementById('a');
let b = document.getElementById('b');

a.addEventListener("click", function() {
  let objPush = {
    name: 'Имя'
  }
  
  arr1.push(objPush);
  puhItn();
});

function puhItn() {
  let ttt = "";
  arr1.forEach(function(item, i) {
    ttt += `<div class="so">
       <li>${item.name}</li>
       <input type="checkbox" name="" value="">
       </div>`;    
  });
  
  b.innerHTML = ttt;
}
<button id="a">a</button>
<div id="b"></div>

→ Ссылка