我有一个二维数组,其中第一个是距离,第二个是对象:
[distance][object]
我需要按距离订购 - 我正在尝试类似的方法但它不起作用,有人可以帮助我吗?
lista.sort((a, b) => {return a-b});
和
let t = lista.sort(sortFunction);
sortFunction(a, b) {
if (a[0] === b[0]) {
return 0;
}
else {
return (a[0] < b[0]) ? -1 : 1;
}
}
最佳答案
如果我正确理解你的问题,下面的内容应该对你有用 - 这里的想法是在你的二维数据集的“外部数组”上调用 .sort()
,然后通过一个比较函数,用于测试被比较的每个项目的第一个元素(即距离数据):
var data = [
[22, { object : 22 }],
[10, { object : 10 }],
[3, { object : 3 }],
[50, { object : 50 }]
]
console.log('unsorted:', data)
data.sort((a, b) => {
return a[0] - b[0]
})
console.log('sorted:', data)
关于Javascript: sort() 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53198924/