如何按距离对这些对象进行排序。这样你就可以将物体从最小距离到最大距离进行分类?
Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
答案 0 :(得分:76)
myArray.sort(function(a, b) {
return a.distance - b.distance;
});
答案 1 :(得分:6)
下面是带有可接受答案的示例:
a = [{name:"alex"},{name:"clex"},{name:"blex"}];
升序:
a.sort((a,b)=> (a.name > b.name ? 1 : -1))
输出:[{name: "alex"}, {name: "blex"},{name: "clex"} ]
下降:
a.sort((a,b)=> (a.name < b.name ? 1 : -1))
输出:[{name: "clex"}, {name: "blex"}, {name: "alex"}]
答案 2 :(得分:2)
与已经给出的答案没什么不同,但更通用的是:
sortArrayOfObjects = (arr, key) => {
return arr.sort((a, b) => {
return a[key] - b[key];
});
};
sortArrayOfObjects(yourArray, "distance");
答案 3 :(得分:1)
此处与当前的最高答案相同,但使用ES6一线式:
myArray.sort((a, b) => a.distance - b.distance);
答案 4 :(得分:0)
这对我有用
var files=data.Contents;
files = files.sort(function(a,b){
return a.LastModified - b. LastModified;
});
或者使用Lodash对数组进行排序
files = _.orderBy(files,'LastModified','asc');
答案 5 :(得分:0)
对于我来说,我需要按字符串“名称”进行排序
users.sort((a, b) => a.name.localeCompare(b.name));
答案 6 :(得分:0)
这是您的另一种选择:
const insertSkid = skidToClone => {
setSkidList(skidList.concat([{ ...skidToClone }]));
};
答案 7 :(得分:0)
ES6 箭头函数:
const orderArrayBy = (arr, key) => arr.sort((a, b) => a[key] - b[key]);
答案 8 :(得分:0)
推送数组 myArray 中的所有对象,然后使用 this 应用排序。
myArray.sort(function(a, b) {
return a.distance - b.distance;
});