繁体   English   中英

如何对 typescript 中的对象数组进行排序?

[英]How to sort an array of objects in typescript?

我正在尝试按 json 数组的距离进行排序。 我试过使用 the.sort() function 但我无法让它工作。 我在 typescript 中编码。

sortArr = [
{id: 1, distance: 2.56},
{id: 2, distance: 3.65},
{id: 3, distance: 9.25},
{id: 4, distance: 5.32},
{id: 5, distance: 2.56}
]

sortArr.distance.sort(function(a,b){return a-b;});

你几乎是对的:

sortArr = [
{id: 1, distance: 2.56},
{id: 2, distance: 3.65},
{id: 3, distance: 9.25},
{id: 4, distance: 5.32},
{id: 5, distance: 2.56}
]

sortArr.sort(function(a,b){return a.distance-b.distance;});

您需要在数组上调用sort

 const array = [ {id: 1, distance: 2.56}, {id: 2, distance: 3.65}, {id: 3, distance: 9.25}, {id: 4, distance: 5.32}, {id: 5, distance: 2.56} ]; const sorted = array.sort((a, b) => a.distance - b.distance); console.log(sorted);

虽然, sortArr.distance.sort(function(a, b) { return ab; }); 至少应该显示一个错误:

Property 'distance' does not exist on type '{ id: number; distance: number; }[]'.
sortArr.sort(function(a,b){return a['distance']-b['distance'];});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM