次の指示に従って、要件を満たす関数を作成しました。私の機能は、本来の機能を果たしますが、少し複雑すぎると感じています。私にとって難しかったのは、等値演算子を避けることでした。これを解決する唯一の方法は、ちょっとした数学と比較演算子を使用することです。この機能を簡素化し、編集時間を節約するにはどうすればよいですか? 前もって感謝します。
onlyOne
任意の型の 3 つの引数を受け入れる関数を作成します。
onlyOne
3 つの引数の 1 つだけが true の場合にのみ true を返す必要があります。それ以外の場合は、false を返す必要があります。ソリューションでは等値演算子 (
==
および) を使用しないでください。===
私の機能:
function onlyOne(input1, input2, input3) {
output = false;
let truthy = 0;
let falsey = 0;
if (!!input1) {
truthy++;
} else {
falsey++;
}
if (!!input2) {
truthy++;
} else {
falsey++;
}
if (!!input3) {
truthy++;
} else {
falsey++;
}
if (falsey > truthy) {
output = true;
}
if (falsey > 2) {
output = false;
}
return output;
}