gpt4 book ai didi

javascript - 在 javascript 中将数字与设置为 POSITIVE_INFINITY 和 MAX_VALUE 的 var 进行比较后返回“未定义”

转载 作者:行者123 更新时间:2023-12-03 03:34:02 26 4
gpt4 key购买 nike

描述:我正在做一些练习来熟悉 Javascript。其中一个问题要求我找到下面给定对象中的最小数字。

var myObj = { key: [5, 8, 1, 4] };

我将 smallest 的初始值设置为 POSITIVE_INFINITYMAX_VALUE。 在我运行程序后(见下文),返回了 undefined 。但是,当我将 smallest 设置为 99999 时,程序可以正确执行。

我的问题:当我将变量(最小)设置为 POSITIVE_INFINITY 和 MAX_VALUE 时,是什么原因导致返回 undefined ?预先感谢您的帮助。

var myObj = { key: [5, 8, 1, 4] };

function getSmallest(obj, key) {

//var smallest = Math.POSITIVE_INFINITY; //---> undefined is returned
//var smallest = Math.MAX_VALUE; //--->undefined is returned
var smallest = 99999; //---> Correct result is returned

if (!obj.hasOwnProperty(key) || !Array.isArray(obj[key]) || obj[key].length === 0) {
return undefined;
}

for (var i in obj[key]) {
if (obj[key][i] < smallest) {
smallest = obj[key][i];
}
}

return smallest;
}

var output = getSmallest(myObj, 'key');
console.log(output);

最佳答案

MAX_VALUEPOSITIVE_INFINITY常量是 Number 对象的属性,而不是 Math 的属性。您还可以使用全局 Infinity常数。

关于javascript - 在 javascript 中将数字与设置为 POSITIVE_INFINITY 和 MAX_VALUE 的 var 进行比较后返回“未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com