从整数数组中获取最多和最少:意外的字符串替换
查找整数数组中的最高值和最低值的任务仅包含整数的数组看起来看似简单。然而,正如人们可能发现的那样,本机 sort() 方法提出了一个意想不到的障碍。由于它默认优先考虑字母顺序,因此数字排序比预期更具挑战性。我们如何克服这个障碍并指示 sort() 函数专注于数组元素中的整数值?
考虑以下示例:
var numArray = [140000, 104, 99]; numArray = numArray.sort(); console.log(numArray);
直观的期望将引导我们预期输出为 99, 104, 140000。然而,结果却截然不同:104, 140000, 99. 这种特殊的行为源于 sort() 方法将值视为字符串而不是整数的固有倾向。
为了解决这个问题,我们可以引入一个自定义排序函数来显式处理数值。下面是我们如何实现这一点:
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
sortNumber(a, b) 函数有效地处理我们寻求的数字排序。通过从 b 中减去 a,正值将 a 推向右侧,确保较高的值稍后出现在排序数组中。相反,负值会提示交换,将较小的值放在左侧。这个自定义排序函数使我们能够准确地对整数数组进行排序,并按预期提供最高值和最低值。
以上是如何在 JavaScript 中正确排序整数数组以查找最小值和最大值?的详细内容。更多信息请关注PHP中文网其他相关文章!