gpt4 book ai didi

javascript - OR if 语句问题中的逻辑。

转载 作者:行者123 更新时间:2023-11-30 07:09:28 25 4
gpt4 key购买 nike

我的 if 语句中的逻辑有问题。我试图让它检查字符串字符是否等于 a、e、i、o 或 u。如果是这样,则将字符添加到短语字符串中。否则将“x”添加到短语字符串。

if 语句似乎无视我的 OR 逻辑并返回 true,无论它是否是 not 的元音。

function translate(string){
var phrase = "";

for(i=0; i<string.length; i++){
if (string.charAt(i) === "a" || "e" || "i" || "o" || "u"){
phrase += string.charAt(i);

}else{

console.log("x");

}
}
console.log(phrase);
}


translate("this is fun");

任何帮助将不胜感激!谢谢。

最佳答案

if (string.charAt(i) === "a" || "e" || "i" || "o" || "u"){

这是不正确的。如果第一个条件失败(字符不是 "a"),它将始终为 truthy,因为它将评估 "e",这是真实的(JavaScript 返回条件中表达式的最后计算部分)。

你可以使用...

// Define them somewhere out of the loop.
var vowels = ["a", "e", "i", "o", "u"];

// Your new condition.
if (vowels.indexOf(string.charAt(i)) > -1) {

你也可以像这样重写整个事情

var vowels = ["a", "e", "i", "o", "u"];
var phrase = string
.split("")
.filter(function(char) { return vowels.indexOf(char) > -1; })
.join("");

jsFiddle .

关于javascript - OR if 语句问题中的逻辑。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16227358/

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