Javascript 为什么alert()可以工作3次?
我有一部分代码,其中Javascript 为什么alert()可以工作3次?,javascript,Javascript,我有一部分代码,其中警报(“错误的单词!”)重复3次,然后停止: let input=prompt(“您想翻译什么?”,”); 让单词=[{ “苹果”, 你的单词:“一些单词” }, { “葡萄”, 你的单词:“一些单词” }, { 英语单词:“菠萝”, 你的单词:“一些单词” }]; for(设i=0;i
警报(“错误的单词!”)
重复3次,然后停止:
let input=prompt(“您想翻译什么?”,”);
让单词=[{
“苹果”,
你的单词:“一些单词”
}, {
“葡萄”,
你的单词:“一些单词”
}, {
英语单词:“菠萝”,
你的单词:“一些单词”
}];
for(设i=0;i
为什么会发生这种情况,以及如何修复它?之所以会发生这种情况,是因为警报在一个循环中,并且条件已检查了3次 在这里,我稍微修改了代码 在
循环的条件块中使用标志
,并检测是否未找到单词。这样做的好处是,一旦找到匹配项,我们就可以停止执行它。如果需要,可以使用break
。但由于您使用的是else条件,因此需要一个标志
为了澄清,最后一个是三元运算符,用于检查是否找到该单词。如果不是,它会警告错误的单词
let input=prompt('您想翻译什么?','');
让单词=[
{en_单词:“苹果”,你的单词:“ббббб”,
{en_单词:“葡萄”,你的单词:“葡萄”,
{en_单词:“菠萝”,你的单词:“菠萝”}
];
让FLAG=false;
对于(i=0;i你可以这样做。这是一种更干净的方法。当你找到匹配的时候,打破循环
let input = prompt('What do you wanna to translate?','');
let words = [
{en_word: "apple", your_word: "яблуко"},
{en_word: "grapes", your_word: "виноград"},
{en_word: "pineapple", your_word: "ананас"}
];
let isFound = false;
for(let i = 0; i < words.length; i++){
if(input == words[i].your_word){
alert(words[i].en_word);
isFound = true;
break;
}
}
if(!isFound) alert("wrong word!");
let input=prompt('您想翻译什么?','');
让单词=[
{en_单词:“苹果”,你的单词:“ббббб”,
{en_单词:“葡萄”,你的单词:“葡萄”,
{en_单词:“菠萝”,你的单词:“菠萝”}
];
让isFound=false;
for(设i=0;i
因为条件检查了3次