我正在尝试按 json 数组的距离排序。我试过使用 .sort() 函数,但我无法让它工作。我正在用打字稿编码。
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;});
答案 0 :(得分:4)
你几乎猜对了:
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;});
答案 1 :(得分:3)
您需要在阵列上调用 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 a-b; });
应该至少显示一个错误:
Property 'distance' does not exist on type '{ id: number; distance: number; }[]'.
答案 2 :(得分:1)
sortArr.sort(function(a,b){return a['distance']-b['distance'];});