【发布时间】:2021-05-06 14:49:02
【问题描述】:
对对象数组进行排序(按数字类型的属性)不会像数字数组那样返回排序结果。
为什么会这样?
如何让它像数字一样排序?
演示:对数字数组进行排序
const sorted = [0, 5, 2, undefined, 3, 1, 4]
.sort((a, b) => a - b);
console.log(sorted);
演示:对对象数组进行排序
const notSorted = [
{i:0},
{i:5},
{i:2},
{i: undefined},
{i:3},
{i:1},
{i:4},
]
.sort((a, b) => a.i - b.i)
.map(a => a.i);
console.log(notSorted);
我目前使用的是 Chrome 90。也许其他一些浏览器或引擎没有这个问题。告诉我。
【问题讨论】:
标签: javascript sorting