Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 按降序对JSON响应进行排序,并仅保留一些值_Arrays_Angular_Typescript_Sorting - Fatal编程技术网

Arrays 按降序对JSON响应进行排序,并仅保留一些值

Arrays 按降序对JSON响应进行排序,并仅保留一些值,arrays,angular,typescript,sorting,Arrays,Angular,Typescript,Sorting,当我想在JSON响应(下面的结构)中指定一个特定属性时,我面临一个问题 我必须按降序对匹配百分比的结果进行排序,但一旦排序完成,我需要将匹配百分比最高的前5个最佳结果放入一个数组中。此数组必须包含最多5个最佳的babylon\u ref。 例如,在下面的情况下,它将是:[101702098710187977110387] 我不知道如何同时处理两个值:排序一个值并在数组中推送另一个值。 有人知道如何用typescript处理这个案子吗? 多谢各位 // Drill down to the tab

当我想在JSON响应(下面的结构)中指定一个特定属性时,我面临一个问题

我必须按降序对
匹配百分比的结果进行排序,但一旦排序完成,我需要将匹配百分比最高的前5个最佳结果放入一个数组中。此数组必须包含最多5个最佳的
babylon\u ref
。 例如,在下面的情况下,它将是:
[101702098710187977110387]

我不知道如何同时处理两个值:排序一个值并在数组中推送另一个值。 有人知道如何用typescript处理这个案子吗? 多谢各位

// 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);

请解释算法,它一点也不明显a)它应该如何只过滤一些值,b)它如何使用排序由一个字段执行而收集的项目是另一个字段这一事实。你是正确的。我重读了这个问题,我不知道前几天我读到了什么,这让我误读得如此严重。谢谢你打电话给我。我现在把它改写成了我认为是问的内容。在意识到我没有仔细阅读问题后,我重写了我的答案。如果你还需要更多信息,请告诉我。但对我来说(在附加的JSFIDLE中),它返回的是您期望的答案/格式。