Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中按对象键值排序数组_Javascript_Arrays_Sorting_Object - Fatal编程技术网

在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;
});