我有一个数组和一组对象。无法按给定键对该对象进行排序。
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);
答案 0 :(得分:0)
这是一个键值映射。维持插入密钥的顺序会破坏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并使用作为键来检索值的元素。
答案 1 :(得分:0)
这是你正在寻找的东西。
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)