javascript - 使用 javascript 的内置排序方法,前导零会导致错误的排序答案

标签 javascript sorting

我正在按字典顺序对整数字符串/数组进行排序。
当我必须使用 array.sort 对包含“022”的字符串进行排序时出现了一个情况。我不知道为什么它在打印时等于“18”。

var l = [022,12];
l.sort();
(2) [12, 18] => output

这背后的原因是什么以及如何纠正?

最佳答案

我建议“use strict”;,这样022将产生语法错误而不是八进制数:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Deprecated_octal

关于javascript - 使用 javascript 的内置排序方法,前导零会导致错误的排序答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47247389/

相关文章:

python - 如何在 Django Admin 中禁用按主键排序?

mysql - 在mysql中将varchar列排序为数字,空值作为底部

javascript - RangeError : Maximum call stack size exceeded using Array. forEach

javascript - 检索 CSSStyleDeclaration 原生 Javascript 对象的键

c - 将 char** 作为参数传递给 C 中的函数

arrays - 按元素出现的频率对数组元素进行排序

javascript - 不使用 Javascript 将 CSS 文件加载到 head 部分或 HTML 部分

javascript - jQuery 类型错误 : $ is undefined

javascript - Jquery Slider UI 用于基于不透明度在 OpenLayers 中显示覆盖层

php - 帮助实现过去日期验证