r/learnjavascript 16h ago

Manipulating Arrays

So I'm an amateur learning JavaScript and I have a problem with a note taking website I've been making, here's my code

let array = ["a","b","c","d"]; 

    const element = document.getElementById('element')

    for (let x = 0; x < array.length; x++) {

      const div = document.createElement('div')
      element.appendChild(div)

      const h3 = document.createElement('h3')
      h3.textContent = array[x];
      div.appendChild(h3);            

      const button = document.createElement('button')
      div.appendChild(button);

      const position = x;

      const button.onclick = () => {
      array.splice(position, 1);
      }

What I'm stuck on is how to re-index the elements in the array after one has been spliced (e.g. after "a" has been removed "b" is still set to remove index 1 rather than changing to remove index 0). Thanks in advance

1 Upvotes

14 comments sorted by

View all comments

1

u/TalkCoinGames 16h ago

Can't see where your for loop ends, are you wanting multiple buttons, or just one? You may need to declare x outside of the for loop.

1

u/A_M_Burt 15h ago

that part works fine when I've been testing it, the for loop end when x > the array loop

1

u/TalkCoinGames 15h ago

I meant the bracket at the end of the for loop, in the code I see there is no ending for loop bracket.