如何在没有 if else、switch 或 javascript 中的内置函数的情况下实现逻辑

How can I implement logics without if else, switch or a built-in function in javascript

假设我们有函数,当传递 5 给它时 returns 3 和当传递 3 给它时 return 5。我知道使用 if else 和 switch 很容易。

例如

function countReturn(number){
  if(number === 3){
  return 5
 }

  if(number === 5){
  return 3
 }

}

但是如果没有 if else、switch 或任何内置函数,我如何实现相同的逻辑?

您可以求和 (3 + 5) 和 return 实际数字的增量。

function threeOrFive(value) {
    return 8 - value;
}

console.log(threeOrFive(3)); // 5
console.log(threeOrFive(5)); // 3

您可以将 return 个值存储在一个数组中:

function countReturn(n) {
  let a = [,,,5,,3];
  return a[n];
}

对于其他输入,这将 return undefined,就像您的原始代码一样。

你可以像这样用三进制

return number === 3 ? 5 : (number === 5 ? 3 : 0);

或者你可以用 object

const obj = {
  "5": 3,
  "3": 5
};
return obj[number];

我们可以return 5 和 3 之间的异或值:

return number ^ 6

实现相同的逻辑,当给定 5 时,它会 return 3 反之亦然