JavaScript在数组中循环并替换所有数字,直到从一个随机输入数中得到array=0为止

JavaScript在数组中循环并替换所有数字,直到从一个随机输入数中得到array=0为止,javascript,arrays,loops,Javascript,Arrays,Loops,我有一个数组,然后我有一个随机数输入,如果数组中有值,它会将值更改为0。我必须循环这个随机数,直到我将所有数组数都更改为0。我不能循环它。我只能换一个 var array1 = [1, 2, 3, 4, 5]; var n = Math.floor(Math.random() * 5) + 1; for (var i = 0; i < array1.length; i++) { if (array1 !== 0) { if (n == array1[i]) {

我有一个数组,然后我有一个随机数输入,如果数组中有值,它会将值更改为0。我必须循环这个随机数,直到我将所有数组数都更改为0。我不能循环它。我只能换一个

var array1 = [1, 2, 3, 4, 5];
var n = Math.floor(Math.random() * 5) + 1;

 for (var i = 0; i < array1.length; i++) {
  if (array1 !== 0) {
    if (n == array1[i]) {
        array1[i] = 0;
    }
    continue
   }
  break
 }
console.log(n);
console.log(array1);
vararray1=[1,2,3,4,5];
var n=Math.floor(Math.random()*5)+1;
对于(变量i=0;i
您可以尝试在一个

请参见下面的粗略示例

const数组=[1,2,3,4,5]
常量目标=[…数组].fill(0)
while(JSON.stringify(数组)!=JSON.stringify(目标)){
常数n=Math.floor(Math.random()*5)+1
log(`n:${n}`)
const index=array.indexOf(n)
如果(索引>=0)数组[索引]=0
}

console.log(`Complete:${array}`)
array1
永远不会是
0
,因为它是一个数组,而不是一个数字。谢谢,但它给出的结果与我的代码相同。它应该循环,所以一旦它捕捉到一个数字,它就会检查另一个数字并将其设置为0,直到数组上的所有数字都变为0。结果应该是[0,0,0,0,0]没有问题。见上文。