【问题标题】:Sort a JSON response by descending order and keep only some values按降序对 JSON 响应进行排序并仅保留一些值
【发布时间】:2019-01-02 10:54:15
【问题描述】:

当我想在 JSON 响应中使用特定属性时遇到问题(结构如下)

我必须按降序对percentage_match 上的结果进行排序,但一旦完成,我需要将匹配百分比最高的前 5 个最佳结果放入一个数组中。该数组必须包含最多 5 个最佳 babylon_ref。 例如,在下面的情况下,它将是:[10170,20987,10187,9771,10387]

我不知道如何同时处理 2 个值:排序一个并将另一个推入数组中。 有没有人知道如何在打字稿中处理这种情况? 谢谢你

【问题讨论】:

  • 我意识到我没有仔细阅读问题后重写了我的答案,如果您还需要更多信息,请告诉我。但对我来说(在附加的 jsfiddle 中)它返回了你期望的答案/格式。

标签: arrays angular typescript sorting


【解决方案1】:
// Drill down to the tableDataList you want to work with
processedData = ...tableDataList.sort((a, b) => {
  return b.percentage_match - a.percentage_match;
}).slice(0, 5).map(resultObj => resultObj.babylon_ref);

I used this jsfiddle for testing

【讨论】:

  • 请解释一下算法,它一点也不明显 a) 它应该如何只过滤一些值,b) 它如何使用排序由一个字段执行而收集的项目是另一个字段这一事实.
  • 你是对的。我重读了这个问题,但我不知道前几天我读到了什么让我误读了它。谢谢你给我打电话。
  • 我现在把它改写成我认为是被问到的内容
猜你喜欢
  • 2018-07-05
  • 1970-01-01
  • 2016-03-10
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 2021-04-14
相关资源
最近更新 更多