我是编码新手,仍在学习中。我的 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/