在javascript中按给定的键值序列对对象排序

在javascript中按给定的键值序列对对象排序,javascript,object,Javascript,Object,我有一个数组和一组对象。无法按给定键对该对象进行排序 var a = ['e','a','c','d','b']; var b = {'d':'12','e':'23','c':'34','b':'45','a':'56'}; var c = {}; for(var i=0; i<a.length; i++){ for(var j in b){ if(a[i] == j){ c[j]=b[j] } } } conso

我有一个数组和一组对象。无法按给定键对该对象进行排序

var a = ['e','a','c','d','b'];
var b = {'d':'12','e':'23','c':'34','b':'45','a':'56'};
var c = {};

for(var i=0; i<a.length; i++){
    for(var j in b){
        if(a[i] == j){
            c[j]=b[j]
        }
    }
}
console.table(c);
var a=['e','a','c','d','b'];
变量b={'d':'12','e':'23','c':'34','b':'45','a':'56'};
var c={};

对于(var i=0;i而言,这是一个键值映射。保持插入键的顺序会破坏O(1)插入时间的好处

为什么要对其进行排序?如果需要,最好维护一个键值对数组,并对它们进行排序以供以后使用。对于您的情况

arr = [["orange", 10],["appple", 5], ["banana", 20], ["cherry", 13]];
使用自定义排序函数作为

arr.sort = function(a,b) {
    return a[1]>b[1]? 1:a[1]<b[1]?-1:0;
}
arr.sort=函数(a,b){

返回a[1]>b[1]?1:a[1]这是您正在寻找的东西

var a = ['e','a','c','d','b'];
var b = {'d':'12','e':'23','c':'34','b':'45','a':'56'};
var c = {};

a.forEach((val) => {
 c[val] = b[val];
});

console.log(c)

因此,您使用的用户代理是错误的,因为在较新的ES2015中,OBJETC被排序,但我不会依赖于此。在控制台表中,可能添加了控制台屏幕截图的副本,它显示了短对象,但没有以这种方式呈现请尝试迭代“排序”对象,而不使用控制台视图。这可能有一个自己的映射器来映射对象键的顺序。