我正在嘗試計算字母x和字母o出現在字符串中的所有時間,如果它們出現相同的次數並且返回true,否則返回false。清除三元語句中的代碼
我已經完成了這個問題,但是當使用三元語句時,它迫使我創建一個額外的條件,因爲您似乎需要在三元語句中執行3個操作,所以我只是在每次出現其他情況時都計數在一個字符串中。有沒有什麼方法可以使用三元語句而不會產生不必要的條件,還是我不得不使用if語句?
function ExOh(str) {
var ex = 0
var oh = 0
var other = 0
for (var i = 0; i < str.length; i++) {
str[i] === "x" ? ex++ : str[i] === "o" ? oh++ : other++
}
return ex === oh
}
console.log(ExOh("xooabcx$%x73o"));
console.log(ExOh("xooxxo"));
console.log(ExOh("x"));
console.log(ExOh(""));
//wouldn't let me just have one statement after the ternary so I created the other variable.
這是應該在棧代碼審查的問題。首先,如果你想要計算字符數,你可以使用linq或regex,這樣可以少用代碼,但是如果你不喜歡你的三元數,那麼使用if。 –