Javascript 在while循环中迭代时从数组中删除元素
我想从Javascript 在while循环中迭代时从数组中删除元素,javascript,arrays,while-loop,Javascript,Arrays,While Loop,我想从nameArray中获取随机名称,每次删除该元素时,我都会得到所有名称,nameArray为空。控制台中不显示任何内容 let i; let nameArray = ['Chara','Lisette','Corine','Kevin','Carlee']; while(i < nameArray.length){ let name = nameArray[ Math.floor( Math.random() * nameArray.length )]; console.log
nameArray
中获取随机名称,每次删除该元素时,我都会得到所有名称,nameArray
为空。控制台中不显示任何内容
let i;
let nameArray = ['Chara','Lisette','Corine','Kevin','Carlee'];
while(i < nameArray.length){
let name = nameArray[ Math.floor( Math.random() * nameArray.length )];
console.log(name);
delete nameArray[i];
}
让我来;
让nameArray=['Chara','Lisette','Corine','Kevin','Carlee'];
while(i
i
从未初始化或更新,因此while循环没有太大意义。
您可以尝试以下方法:
让nameArray=['Chara'、'Lisette'、'Corine'、'Kevin'、'Carlee'];
while(nameArray.length>0){//当数组不为空时
设i=Math.floor(Math.random()*nameArray.length);//选择一个随机元素索引
log(nameArray[i]);//打印元素
nameArray.splice(i,1);//从数组中删除元素
}
i
从未初始化或更新,因此while循环没有太大意义。
您可以尝试以下方法:
让nameArray=['Chara'、'Lisette'、'Corine'、'Kevin'、'Carlee'];
while(nameArray.length>0){//当数组不为空时
设i=Math.floor(Math.random()*nameArray.length);//选择一个随机元素索引
log(nameArray[i]);//打印元素
nameArray.splice(i,1);//从数组中删除元素
}
你做了一个无限循环!此语句(i
总是正确的。您创建了一个无限循环!此语句(i
始终正确。