鉴于以下说明,我创建了一个满足要求的函数。我觉得我的功能有点太复杂了,尽管它做了它应该做的事情。对我自己来说,困难的部分是避免使用相等运算符。我能想到解决这个问题的唯一方法是使用一些数学和比较运算符。如何简化此功能并节省一些编辑时间?提前致谢。
编写一个
onlyOne
接受三个任意类型参数的函数。
onlyOne
仅当三个参数中的一个为真时才应返回真。否则,它应该返回 false。不要在您的解决方案中使用相等运算符 (
==
and===
)。
我的功能:
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;
}