gpt4 book ai didi

javascript - while 循环无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 16:02:34 25 4
gpt4 key购买 nike

我正在为 freecodecamp.com 上的一个练习编写代码,名为 Pig Latin问题。对于 while 循环,当条件错误时,它应该停止执行其中的代码。对于我的情况,当 while 循环发现在迭代期间在 Charas 数组中看到元音时,它必须停止执行其中的代码。我认为我的代码在我看来是正确的,但是 while 循环在看到元音时不会停止执行,而是会迭代 Charas 数组中的每个元素。

这是我的代码

function translatePigLatin(str) {
var vowels = ['a','e','i','o','u'];
var f="";
var charas = str.split("");
if(vowels.indexOf(charas[0])!==-1) {
// vowel
charas.push("w");
charas.push("a");
charas.push("y");
f = charas.join("");
} else {
//if first letter is a consonant or cluster of consonants
var i = 0;
while(vowels.indexOf(charas[i]) ===-1) {
charas.push(charas[i]);
charas.splice(i,1);
i = i+1;
}
charas.push('a');
charas.push('y');
f = charas.join("");
}
return f;
}

translatePigLatin("california");

最佳答案

它可以作为工作原因

 charas.push(charas[i]);
charas.splice(i,1);
i = i+1;

第一次迭代后,它在开头移动“a”字母,因为结果 i == 1(在第二次迭代中)charas[i] 引用辅音“l”。

关于javascript - while 循环无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42159262/

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