Ich versuche zu zählen, wie oft der Buchstabe x und der Buchstabe o in einer Zeichenkette erscheinen, und ich gebe wahr zurück, wenn sie gleich oft vorkommen und sonst falsch.Code in ternärer Anweisung bereinigen
Ich habe das Problem abgeschlossen, aber wenn ich eine ternäre Anweisung verwendete, zwang es mich, eine zusätzliche Bedingung zu erstellen, die ich nicht brauchte, da Sie anscheinend 3 Operationen in einer ternären Anweisung benötigten, also zählte ich jedes Mal, wenn etwas anderes auftauchte in einer Zeichenfolge. Gibt es eine Möglichkeit, eine ternäre Anweisung zu verwenden, ohne eine unnötige Bedingung zu erstellen, oder müsste ich if-Anweisungen verwenden?
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.
Dies ist eine Frage, die auf Stapel Code-Review sein sollte. Zunächst einmal, wenn Sie versuchen, Zeichen zu zählen, können Sie Linq oder Regex verwenden, die viel weniger Code wäre, aber wenn Sie nicht möchten, dass Ihre Ternär ein If verwenden. –