Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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_Sorting_Javascript Objects - Fatal编程技术网

Javascript 按名称为的单个键对对象数组排序

Javascript 按名称为的单个键对对象数组排序,javascript,sorting,javascript-objects,Javascript,Sorting,Javascript Objects,我有一个包含多个键值对的对象数组,需要根据“名称”对它们进行排序: [ { "name" : "RAM", "value" : "12 GB" }, { "name" : "Operating System", "value" : "Android"

我有一个包含多个键值对的对象数组,需要根据“名称”对它们进行排序:

[
    {
        "name" : "RAM",
        "value" : "12 GB"
    },
    {
        "name" : "Operating System",
        "value" : "Android"
    },
    {
        "name" : "Model",
        "value" : "Google Pixel XL"
    },
    {
        "name" : "Color",
        "value" : "Red"
    }
]
我想要的结果如下

[   
    {
        "name" : "Color",
        "value" : "Red"
    },
    {
        "name" : "Model",
        "value" : "Google Pixel XL"
    },
    {
        "name" : "Operating System",
        "value" : "Android"
    },
    {
        "name" : "RAM",
        "value" : "12 GB"
    }
    
]
最有效的方法是什么

提前感谢您的回复

您可以使用:,如果您只导入这个特定的方法(而不是整个库),它非常小,非常适合于此

他们的例子是:

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.sortBy(stooges, 'name');

=> [{name: 'curly', age: 60}, {name: 'larry', age: 50}, {name: 'moe', age: 40}];
您可以使用:,如果您只导入这个特定的方法(而不是整个库),它非常小,非常适合于此

他们的例子是:

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.sortBy(stooges, 'name');

=> [{name: 'curly', age: 60}, {name: 'larry', age: 50}, {name: 'moe', age: 40}];

你可以这样做

function sortByKey(array, key) {
    return array.sort(function(a, b) {
        var x = a[key]; var y = b[key];
        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    });
}

函数排序键(数组,键){
返回array.sort(函数(a,b){
变量x=a[key];变量y=b[key];
回报率((xy)?1:0);
});
}

您可以这样做

function sortByKey(array, key) {
    return array.sort(function(a, b) {
        var x = a[key]; var y = b[key];
        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    });
}

函数排序键(数组,键){
返回array.sort(函数(a,b){
变量x=a[key];变量y=b[key];
回报率((xy)?1:0);
});
}

为什么要投否决票?OP要求提供一种有效的方法,这是最有效的吗?有效是使用内置方法。@NinaScholz不一定。构建自己的方法需要维护和彻底的测试。当然,两者都有优点和缺点。但我认为这不值得一票否决。如果建立自己的图书馆更有效,为什么会有这么多人使用它。不要重新发明车轮弹簧来思考为什么投票失败?OP要求提供一种有效的方法,这是最有效的吗?有效是使用内置方法。@NinaScholz不一定。构建自己的方法需要维护和彻底的测试。当然,两者都有优点和缺点。但我认为这不值得一票否决。如果建立自己的图书馆更有效,为什么会有这么多人使用它。不要重新发明轮子弹簧来提醒我谢谢所有回复我的人我得到的结果如下``var data=[{“name”:“RAM”,“value”:“12gb”},{“name”:“Color”,“value”:“RED”}]函数sortData(a,b){if(a.nameb.name){return 1;}return 0;}data.sort(sortData)``感谢所有响应我得到的结果如下``var data=[{“name”:“RAM”,“value”:“12gb”},{“name”:“Color”,“value”:“RED”}]函数sortData(a,b){if(a.nameb.name){return 1;}返回0;}data.sort(sortData)```