You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求10种逻辑不同的JavaScript函数实现:f(1)返回-1,f(-1)返回1

实现10种逻辑不同的JavaScript函数:输入1返回-1,输入-1返回1

以下是满足要求的10种逻辑不同的实现,每种基于不同的编程思路:

// Implement 10 different ways for f(1) and f(-1) to return -1 and 1 respectively
// Note: The implementation should have logical difference. Sytactical difference will not be considered as a solution
// input can be either 1 or -1

// 1. 乘法取反
function f1(input) {
  return input * -1;
}
console.log(f1(1)); // -1
console.log(f1(-1)); // 1

// 2. if-else分支判断
function f2(input) {
  if (input === 1) return -1;
  else if (input === -1) return 1;
}
console.log(f2(1)); // -1
console.log(f2(-1)); // 1

// 3. 数组索引匹配
function f3(input) {
  const arr = [null, -1];
  return arr.indexOf(input);
}
console.log(f3(1)); // -1
console.log(f3(-1)); // 1

// 4. 减法运算反转数值
function f4(input) {
  return 0 - input;
}
console.log(f4(1)); // -1
console.log(f4(-1)); // 1

// 5. 除法运算反转符号
function f5(input) {
  return -1 / input;
}
console.log(f5(1)); // -1
console.log(f5(-1)); // 1

// 6. 对象键值映射查找
function f6(input) {
  const map = { 1: -1, '-1': 1 };
  return map[input];
}
console.log(f6(1)); // -1
console.log(f6(-1)); // 1

// 7. 位运算补码取反
function f7(input) {
  return ~input + 1;
}
console.log(f7(1)); // -1
console.log(f7(-1)); // 1

// 8. switch分支匹配
function f8(input) {
  switch(input) {
    case 1:
      return -1;
    case -1:
      return 1;
  }
}
console.log(f8(1)); // -1
console.log(f8(-1)); // 1

// 9. 逻辑短路求值
function f9(input) {
  return input === 1 && -1 || 1;
}
console.log(f9(1)); // -1
console.log(f9(-1)); // 1

// 10. 字符串拼接转数字
function f10(input) {
  return Number(`-${input}`);
}
console.log(f10(1)); // -1
console.log(f10(-1)); // 1

逻辑差异说明

  • f1:基于算术乘法的直接取反逻辑
  • f2:基于多分支if-else的条件判断
  • f3:基于数组indexOf方法的索引匹配逻辑
  • f4:通过减法运算实现数值反转
  • f5:通过除法运算实现符号反转
  • f6:基于对象键值对的映射查找逻辑
  • f7:基于二进制补码的位运算取反逻辑
  • f8:基于switch语句的分支匹配逻辑
  • f9:基于逻辑与或的短路求值逻辑
  • f10:通过字符串拼接后类型转换实现反转

内容的提问来源于stack exchange,提问作者Kiran Dash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 05:45:29