javascript - 相同的代码在不同的设备上运行不同

标签 javascript arrays sorting

我是编码新手,仍在学习中。我的 friend 给了我一个任务,让我编写一个函数来返回数组中第二大的数字,我已经设法使用 array.prototype.sort() 完成了它。他说用“<”或“>”替换“-”以使代码更清晰,这就是问题开始的地方。

我在 Windows 上使用 VCS,但它无法正常工作。 我的 friend 使用 mac,一切正常。 在 jsfiddle 上试过,一切正常。

const secondMax = (arr) => {
  return arr.sort((a, b) => b - a)[1]; //does return the correct number after console.log()
};
const secondMax = (arr) => {
  return arr.sort((a, b) => a < b)[1]; //does not
};

"a < b"应该降序排列 "a > b"应该是升序排序 但是无论我使用哪个运算符,排序都会失败,只会返回数组中的第二个数字

最佳答案

您应该返回一个数字,而不是 bool 值。所以第一个是正确的。后者可能会在某些 javascript 引擎上偶然工作,但不能保证。

关于javascript - 相同的代码在不同的设备上运行不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516873/

相关文章:

javascript - 对 knockout 可观察数组进行排序

c - C中的这种排序算法有什么问题?

algorithm - 桶排序的近乎完美的分布模型

javascript - jQuery 无法在弹出窗口中处理我的表单

arrays - 在数组 VBA 中查找特定 Object.Name 字符串的快速方法

c - `restrict` 关键字隐含的严格别名级别是什么?

javascript - 如何使用 JavaScript 连接两个 html 元素数组

javascript - 从使用 jQuery 的 php 网站提取数据。无相关来源信息

javascript - 如何在javascript中随机制作音频文件数组

javascript - 每次 Hook 错误前的 Angular 业力幻影