javascript - 排序复杂的json
问题描述
朋友们,我在 javascript 中有以下对象:
{
id: {0: 3, 1: 2, 2: 1}
amount: {0: 1000, 1: 5000, 2: 300},
date: {0: "aaa", 1: "bbb", 2: "ccc"}
}
如何按“金额”键降序排序?"id" 和 "date" 对象必须根据排序的数量重新排列
预期结果是:
{
id: {0: 2, 1: 3, 2: 1}
amount: {0: 5000, 1: 1000, 2: 300},
date: {0: "bbb", 1: "aaa", 2: "ccc"}
}
解决方案
我首先建议更改您的数据布局。它不是一种排序友好的格式。我会推荐以下内容:
[
{id: 2, amount: 5000, date: "bbb"},
{id: 3, amount: 1000, date: "aaa"},
{id: 1, amount: 300, date: "ccc"},
]
完成后,您可以使用 sortBy 方法对子键上的数组进行排序,例如:https ://caolan.github.io/async/v3/sortBy.js.html
前任:
sortBy(obj2, (row) => row.amount, (result) => {
console.log(result);
})
推荐阅读
- javascript - 意大利财政代码的正则表达式,带有大写字母
- python-3.x - python不会从子目录中读取第一个和最后一个文件(有时是最后一个文件,总是第一个文件)
- python - 将自定义参数传递给棉花糖模式和预处理方法
- python - 在格式说明符中使用 [0][width] 的示例
- sql-server - 从 blob 存储中选择最新的 .bak 以自动还原到 SQL Server 2016
- linux - 保存凭据时出错:存储凭据时出错 已达到超时
- c - 为什么即使服务器上没有运行此类服务,getaddrinfo 也会返回服务端口?
- rust - 并行迭代和处理元组的字段
- c# - 事件不会在按钮单击时触发
- php - PHP:if语句,为什么在添加return之前执行了else?