【问题标题】:how to sort the json array by keys in descending order using angular如何使用角度按降序对json数组进行排序
【发布时间】:2021-09-28 19:36:01
【问题描述】:

var arr = { '2021-07-20-21:10': { 发送:1, 收视率:1, 未发送:0, 拒绝:0, xptSkips: 0, 超时:0, 应用错误:0, 响应时间平均:172, 最大响应时间:172, 时间:'21:10', 主机数:1, }, '2021-07-20-21:22': { 发送:1, 收视率:0, 未发送:0, 拒绝:0, xptSkips: 0, 超时:1, 应用错误:0, 响应时间平均:0, 最大响应时间:0, 时间:'21:22', 主机数:1, }, '2021-07-20-21:13': { 发送:2, 收视率:1, 未发送:0, 拒绝:0, xptSkips: 0, 超时:1, 应用错误:0, 响应时间平均:89, 最大响应时间:177, 时间:'21:13', 主机数:2, }, '2021-07-20-21:14': { 发送:1, 收视率:0, 未发送:0, 拒绝:0, xptSkips: 0, 超时:1, 应用错误:0, 响应时间平均:0, 最大响应时间:0, 时间:'21:14', 主机数:1, }}

并且它必须根据键按 desc 顺序进行排序

var arr = { '2021-07-20-21:22': { 发送:1, 收视率:1, 未发送:0, 拒绝:0, xptSkips: 0, 超时:0, 应用错误:0, 响应时间平均:172, 最大响应时间:172, 时间:'21:22', 主机数:1, }, '2021-07-20-21:14': { 发送:1, 收视率:0, 未发送:0, 拒绝:0, xptSkips: 0, 超时:1, 应用错误:0, 响应时间平均:0, 最大响应时间:0, 时间:'21:14', 主机数:1, }, '2021-07-20-21:13': { 发送:2, 收视率:1, 未发送:0, 拒绝:0, xptSkips: 0, 超时:1, 应用错误:0, 响应时间平均:89, 最大响应时间:177, 时间:'21:13', 主机数:2, }, '2021-07-20-21:10': { 发送:1, 收视率:0, 未发送:0, 拒绝:0, xptSkips: 0, 超时:1, 应用错误:0, 响应时间平均:0, 最大响应时间:0, 时间:'21:10', 主机数:1, }}

【问题讨论】:

  • 请为您的代码使用语法高亮并缩进。
  • 您必须使用函数sort 对数组进行排序。

标签: arrays json angular


【解决方案1】:

您可以使用 Object.keys() 函数提取数组的“键”,然后使用 sort 函数对该键数组进行排序,并生成一个遍历每个键的新对象...代码将是(保持 arr 作为数组的名称):

// Get the keys of your "array"
let arrayOfKeys = Object.keys(arr)

// We sort it out...
let sortedArray = arrayOfKeys.sort()

// We will create the "final" array
let resultingArray = {}

// Now we iterate over each element, in order:
sortedArray.forEach((element) => {
    resultingArray[element] = arr[element]
})

...当然这可以大大缩短,例如:

var resultingArr = {}
Object.keys(arr).sort().forEach(e -> { resultingArr[e] = arr[e] })

编辑:我看到您需要按 降序 顺序对数组进行排序。这可以使用自定义排序函数或使用函数 reverse() 来完成。只需更正排序步骤:

// We sort it out...
let sortedArray = arrayOfKeys.sort().reverse()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 2019-06-06
    • 2013-09-20
    • 1970-01-01
    • 2020-03-06
    • 2019-01-01
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多