繁体   English   中英

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

[英]sort object by given key value sequence in javascript

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

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

在此处输入图片说明

这是一个键值映射。 保持插入键的顺序会破坏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;
}

应用排序

keysArr.sort()遍历已排序的keysArr并使用作为键的元素检索值。

这是您要找的东西吗?

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM