【发布时间】:2020-08-20 22:57:09
【问题描述】:
我对 Javascript 和 jQuery 非常陌生。我正在尝试创建一个电影列表,该列表将从列表中随机选择一个项目,发布结果,然后从原始列表中删除该项目。它使用文本输入、.push 和 .append 来跟踪列表并更新匹配文本的数组。我的想法是我会使用一个与 ul 匹配的数组从其长度生成一个随机索引号,然后使用该数字通过索引从 ul 中删除 li。基本思想是有效的。我的问题是,每次它从列表中选择一个项目时,它从数组中删除的项目与它发布和从 ul 中删除的项目不同。这些部分似乎可以单独工作,直到我在一个绑定到按钮的函数中运行它们。
这是我正在使用的代码。只要接受文本以更新 ul,watchList 数组就会填充 .push。我检查过,两者的索引都匹配。
function randomShow(){
var r = Math.floor(Math.random() * watchList.length);
for(var i = 0; i < watchList.length; i++){
if(i === r) {
alert(watchList[i]);
watchList.splice(watchList.indexOf[i],1);
$("li").eq(i).remove();
}
}
}
【问题讨论】:
-
watchList.indexOf(i)你可以摆脱代码中的循环,这是没有意义的。 -
是的。我发现循环没用。其他人建议我尝试一下,因为我对编码真的很陌生,所以我试了一下。我修好了它。您的建议很接近,但绝对为我指明了正确的方向!我删除了循环并完全删除了 indexOf 。 - watchList.splice(r,1); -
标签: javascript jquery arrays random html-lists