📅  最后修改于: 2023-12-03 15:40:50.325000             🧑  作者: Mango
在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
本题考察了对猫鼬数的理解以及对条件语句和比较运算符的使用。也许你会觉得猫鼬数很奇怪,但是在实际开发中,有时候我们需要判断某个值是否为有效的数字,这时候猫鼬数就派上用场了。
好了,本题这里就结束了。希望能够帮助到你,如果你还有不明白的地方,欢迎在评论区留言。