const arr1 = [1, 2, 3, 4, 5]; const arr2 = []; let index = Math.floor(Math.random() * arr1.length); for(let i = 0; i < arr1.length; i++) { arr2.push(arr1[index]); do { index = Math.floor(Math.random() * arr1.length); console.log(arr2.includes(arr1[index])); //thís is to see the result } while (arr2.includes(arr1[index])) } console.log('arr2: ', arr2);Quiero hacer la nueva matriz desordenada a partir de la primera matriz. Pero cuando ejecuto este código, el bucle se convierte en un bucle infinito aunque el condicional es falso. Mi pregunta es la razón por la que el bucle sigue ejecutándose con el falso condicional.