javascript - 如何在javascript中以特定顺序显示数据?
问题描述
我有 listOfChapters(见下面的代码)现在这个数组标题我使用 map 打印,这样打印就像这章第 1 章,第 2 章,第 3 章,第 -4 章,但我想按重量顺序打印怎么可能呢?
weight
listOfChapters.map(x => x.title) // current output is chapter-1 1
chapter-2 3
chapter-3 2
chapter-4 0
// Exprected output using weight sequence chapter-4 0
chapter-1 1
chapter-3 2
chapter-2 3
listOfChapters = [
0: {id: 242, title: "Chapter - 1", weight: 1}
1: {id: 261, title: "Chapter - 2", weight: 3}
2: {id: 262, title: "Chapter - 3", weight: 2}
3: {id: 263, title: "chapter - 4", weight: 0}
]
解决方案
试试这个
listOfChapters.sort((a,b)=>a.weight-b.weight).map(p=>p.title)
listOfChapters.sort((a,b)=>a.weight-b.weight)将按重量升序对数组(变异)进行排序
推荐阅读
- python - 放卷两次后倒回两次
- r - 在 R 中使用递归查找所有组合
- c# - dotNetRDF 是否支持数学?
- reactjs - 如何在 React 中将 cordova sqlite 插件与 Ionic 5 应用程序一起使用?
- android - 是否可以在 Android NDK 开发中隐藏 .so 文件?
- java - 从 fillInStackTrace 返回的 Throwable 是否可以安全向下转换?
- react-native - 反应导航“返回”到另一个 StackNavigator(v5)中的上一个屏幕
- java - Java:来自 JSON 的数组数组
- java - TypeNotPresentException , Maven 项目构建生命周期映射问题 执行 maven 构建时出现异常
- reactjs - ReactJS + Docker-Compose 错误 | “找不到所需的文件”