javascript - JS - 对对象数组进行排序
问题描述
我正在尝试对 JS 中的对象数组进行排序,但由于某种原因它不起作用:(
这是我正在运行的代码:
let myArr = [{"name": "a", "age": 21}, {"name": "b", "age": 18}, {"name": "c", "age": 20}];
console.log(myArr.sort((a, b) => {
return a["age"] > b["age"];
}))
输出与声明的数组相同:
[
{ name: 'a', age: 21 },
{ name: 'b', age: 18 },
{ name: 'c', age: 21 }
]
当我查看它时,它似乎是按原样写的,不太确定出了什么问题。
知道我做错了什么吗?
解决方案
使用-
而不是>
. 它应该返回一个Number
类型而不是Boolean
类型。在 mdn 上查看排序
let myArr = [
{ name: "a", age: 21 },
{ name: "b", age: 18 },
{ name: "c", age: 20 },
];
console.log(
myArr.sort((a, b) => {
return a["age"] - b["age"];
})
);
arrow
使用函数使用单行语法
let myArr = [
{ name: "a", age: 21 },
{ name: "b", age: 18 },
{ name: "c", age: 20 },
];
console.log(myArr.sort((a, b) => a.age - b.age));
推荐阅读
- javascript - ServiceNow - 列表仅使用最后一个值更新
- javascript - 如何在删除包含 discord.js 的嵌入之前设置延迟?
- java - Spring Boot addObject 无法正常工作
- python - 我不知道如何在 PyCharm 中安装熊猫
- assembly - 在 x86_64 中,如果条件为假,32 位 cmov 是否会清除最高位?
- php - Laravel - SQLSTATE [23000]:完整性约束违规:1062 键“posts_user_id_unique”的重复条目“1”
- android - 背景/文本大小调整问题
- grafana - 将仪表板保存到 Grafana 中的物理文件夹
- json - 希望在 Json [松弛] 中将按钮与块集成
- java - Docker 容器显示没有端口,可以找到 IP 但需要同时连接到 Java 应用程序