📜  猫鼬数更大 - Javascript (1)

📅  最后修改于: 2023-12-03 15:40:50.325000             🧑  作者: Mango

猫鼬数更大 - Javascript

在Javascript中,有一个叫做猫鼬数(NaN)的东西,它是一个特殊的数字值,表示“不是一个数字”。当某个值无法表示为数字时,Javascript会将其视为猫鼬数。

然而,本题的要求是让你编写一个函数,返回两个数中猫鼬数更大的那个数。那么该怎么实现呢?

实现

我们可以先比较两个数是否都是猫鼬数。如果是,返回任意一个猫鼬数即可;如果只有一个是猫鼬数,返回它;如果两个数都不是猫鼬数,则比较它们的值,返回更大的那个。

下面是代码实现:

/**
 * 返回两个数中猫鼬数更大的那个数
 * @param {number} num1
 * @param {number} num2
 * @return {number} 猫鼬数更大的那个数
 */
function getLargerNaN(num1, num2) {
  // 判断是否都是猫鼬数
  if (isNaN(num1) && isNaN(num2)) {
    return NaN;
  }
  // 判断是否只有一个是猫鼬数
  if (isNaN(num1)) {
    return num2;
  }
  if (isNaN(num2)) {
    return num1;
  }
  // 比较两个数的大小
  return num1 > num2 ? num1 : num2;
}
测试

为了验证我们的代码是否正确,我们可以编写一些测试用例来进行测试。下面是几组测试用例:

console.log(getLargerNaN(NaN, NaN)); // NaN
console.log(getLargerNaN(10, NaN));  // 10
console.log(getLargerNaN(NaN, 20));  // 20
console.log(getLargerNaN(30, 40));   // 40
console.log(getLargerNaN(-Infinity, Infinity)); // -Infinity
总结

本题考察了对猫鼬数的理解以及对条件语句和比较运算符的使用。也许你会觉得猫鼬数很奇怪,但是在实际开发中,有时候我们需要判断某个值是否为有效的数字,这时候猫鼬数就派上用场了。

好了,本题这里就结束了。希望能够帮助到你,如果你还有不明白的地方,欢迎在评论区留言。