Not understanding pointer behavior in arrays

Viewed 26

The pointer to the const random is my problem. Not working code :

const people = [{person: "a", value: 1},{person: "b", value: 2}]
const random = Math.floor(Math.random() * people.length)

let oldPerson = people[0]
let newPerson = people[0]
    
btn.addEventListener("click", () => {
    while (oldPerson == newPerson) {
        newPerson = people[random]
        console.log(oldPerson, newPerson)
    }
    oldPerson = newPerson
})

Working fine code :

 const people = [{person: "a", value: 1},{person: "b", value: 2}]
 
 let oldPerson = people[0]
 let newPerson = people[0]
 
 btn.addEventListener("click", () => {
     while (oldPerson == newPerson) {
         newPerson = people[Math.floor(Math.random() * people.length)]
         console.log(oldPerson, newPerson)
     }
     oldPerson = newPerson
 })

I don't understand why, can you help me ?

0 Answers
Related