gpt4 book ai didi

javascript - 使用拼接时无法从阵列中正确删除项目

转载 作者:行者123 更新时间:2023-12-02 17:50:46 26 4
gpt4 key购买 nike

对 Javascript 很陌生,正在尝试制作一些小东西,让我可以决定要观看什么电影。我已经列出了一些电影的测试 list 。然后我一次从列表中看到两部电影,每次我都必须否决其中一部电影。这应该继续下去,直到只剩下一部电影,此时弹出窗口会告诉我要观看哪部电影。

问题是,它无法正常工作。无论我做什么,它似乎都不会删除列表中的最后一项,有时电影根本不会删除。这是我正在使用的代码。有人可以帮我指出正确的方向吗?

var options = [
"ET",
"Schindler’s List",
"Up",
"What’s Eating Gilbert Grape",
];

var process = function() {
while (options.length > 1) {
for (i = options.length-1; i >= 1; i--) {
var select = prompt("VETO one of the following: 1. " + options[i] + " 2. " + options[i-1]);
if (select === 1) {
options.splice(i, 1);
}
else {
options.splice(i-1, 1);
}
}
}
};
process();
alert(options);

最佳答案

选择变量以字符串形式返回。因此,

select === 1 // always false
select === '1' // works as expected

修改来源:

var options = [
"ET",
"Schindler’s List",
"Up",
"What’s Eating Gilbert Grape",
];

var process = function() {
while (options.length > 1) {
for (var i = options.length-1; i >= 1; i--) {
var select = prompt("VETO one of the following: 1. " + options[i] + " 2. " + options[i-1]);
if (select === '1') { // changed
options.splice(i, 1);
}
else {
options.splice(i-1, 1);
}
}
}
};
process();
alert(options);

此外,始终使用 var 声明变量。

关于javascript - 使用拼接时无法从阵列中正确删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com