javascript - 相同的代码在不同的设备上运行不同
问题描述
我是编码新手,还在学习。我的朋友给了我一个任务来编写一个函数,该函数确实从数组中返回第二大数字,我已经设法使用 array.prototype.sort() 来完成它。他说用“<”或“>”替换“-”以使代码更清晰,这就是问题开始的地方。
我在 Windows 上使用 VCS,但它无法正常工作。我朋友用的是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”应该是升序排序 但是无论我使用哪个运算符,排序都会失败,只返回数组中的第二个数字
解决方案
您应该返回一个数字,而不是布尔值。所以第一个是正确的。后者可能会在某些 javascript 引擎上偶然工作,但不能保证。
推荐阅读
- python-3.x - 使用GPU的结果有什么区别?
- github-pages - 尽管在我的实时服务器上本地工作,但图像不会加载到 git hub 页面上。我检查了路径和 Capitilisation
- gml - 如何修复:代码未在某些帧上运行
- notepad++ - 安装在 Windows 7 Professional(以及 Windows 10)上的 Notepad++ 7.7.1 不会保存具有选定扩展名的新文件
- reactjs - 如何从挂钩中的选项卡中添加或删除项目?
- bash - 使用正则表达式移动命令
- laravel - 在 Laravel 中使用 Vuetify(错误:Vuetify 未正确初始化)
- html - 带有滚动条问题的多级下拉菜单
- r - 我收到关于“diskImageR”包的路径错误,我不理解
- google-cloud-firestore - 如何使用云功能向集合的现有文档添加新字段?