在javascript中按对象键值排序数组
您将如何按距离对这些对象的数组进行排序。这样就可以将对象从最小距离排序到最大距离了在javascript中按对象键值排序数组,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,您将如何按距离对这些对象的数组进行排序。这样就可以将对象从最小距离排序到最大距离了 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=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...}
使用,例如
这对我有用
var files=data.Contents;
files = files.sort(function(a,b){
return a.LastModified - b. LastModified;
});
或者使用Lodash对数组进行排序
files = _.orderBy(files,'LastModified','asc');
与已经给出的答案没有显著差异,但更一般的是:
sortArrayOfObjects = (arr, key) => {
return arr.sort((a, b) => {
return a[key] - b[key];
});
};
sortArrayOfObjects(yourArray, "distance");
这里的答案与当前的顶级答案相同,但在ES6一行中:
myArray.sort((a,b)=>a.distance-b.distance)代码>以下是一个示例,其中包含公认的答案:
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))
a.sort((a,b)=>(a.name
输出:[{name:“clex”},{name:“blex”},{name:“alex”}]
这里还有一行代码:
your_array.sort((a, b) => a.distance === b.distance ? 0 : a.distance > b.distance || -1);
ES6箭头功能:
const orderArrayBy = (arr, key) => arr.sort((a, b) => a[key] - b[key]);
推送数组myArray中的所有对象,然后使用此应用排序
myArray.sort(function(a, b) {
return a.distance - b.distance;
});
+1但它实际上不是Array
构造函数的属性。@pimvdb只是用来说明它是Array
的一种方法。现在更好了?谢谢,这很好而且简单,我有一个更长的方法来做同样的事情。Duplicate:可以用一行返回语句编写:sortArrayOfObjects=(arr,key)=>{return arr.sort((a,b)=>a[key]-b[key])代码>
myArray.sort(function(a, b) {
return a.distance - b.distance;
});