我遇到需要重新排列对象的情况
我的obj->
{ '1': 2, '2': 1, '3': 2, '4': 1, '6': 1, '7': 2, '8': 4, '45': 1 }
我的数组->
[ '2', '4', '6', '45', '1', '3', '7', '8' ]
我尝试过的->
var rearrangedObj = sortedKeys.filter((ele, ind, arr) => {
console.log(ele, r_obj[ele])
var q = sortedKeys[ind];
q = ele.toString();
var a = { q: r_obj[ele]
console.log(a)
return a;
})
我的结果是->
2 1
{ q: 1 }
4 1
{ q: 1 }
6 1
{ q: 1 }
45 1
{ q: 1 }
1 2
{ q: 2 }
3 2
{ q: 2 }
7 2
{ q: 2 }
8 4
{ q: 4 }
我期望的是->而不是q
,密钥应该是控制台中打印的密钥
var a1 = new Array(1, 1, 2, 3, 3, 4, 45, 6, 7, 7, 8, 8, 8, 8);
var r_obj = {};
var a2 = a1.map((ele, ind) =>
if (r_obj.hasOwnProperty(ele)){
r_obj[ele] += 1
} else {
r_obj[ele] = 1
}
return ele;
})
console.log(r_obj)
var keys = Object.keys(r_obj)
sortedKeys = keys.sort(function(a, b){
if (r_obj[a] > r_obj[b]){
return 1
}
if (r_obj[a] < r_obj[b]){
return -1
}
return 0;
});
var rearr = [];
var rearrangedObj = sortedKeys.filter((ele, ind, arr) => {
console.log(ele, r_obj[ele])
var q = sortedKeys[ind];
q = ele.toString();
var a = { q: r_obj[ele] }
console.log(a)
return a;
})
console.log(rearrangedObj, "sortedKeys")
我的结果是->
2 1
{ q: 1 }
4 1
{ q: 1 }
6 1
{ q: 1 }
45 1
{ q: 1 }
1 2
{ q: 2 }
3 2
{ q: 2 }
7 2
{ q: 2 }
8 4
{ q: 4 }
我期望的是->而不是q
,密钥应该是控制台中打印的密钥