I want to use the sort method explained here但我有
{
"CYLINDER": 2986,
"HYDRAULIC": 1421,
"JACKS": 84,
"INSTALLATION": 119,
"REAR": 61,
"JACK": 334,
"TUBE": 1,
"FEED": 114,
"ASSEMBLY": 326,
"DCS": 2,
"TOWER": 65,
"RAISING": 8,
"BREAKOUT": 6,
}
我创建了这个函数,将每个字符串分组在一起并添加一个计数(作为键的值,见上文)
function generateCountDuplication(wordArray) {
const countedWords = wordArray.reduce(function(allWords, word) {
if (word in allWords) {
allWords[word]++;
}
else {
allWords[word] = 1;
}
return allWords;
}, {});
return countedWords;
}
我尝试在 Stackoverflow 上进行谷歌搜索和查看,但没有找到当键不唯一时按值排序的任何位置。有什么线索可以解决吗?
我想要这样的结果:
{
"TUBE": 1,
"DCS": 2,
"BREAKOUT": 6,
"RAISING": 8,
"REAR": 61,
"TOWER": 65,
"JACKS": 84,
"FEED": 114,
"INSTALLATION": 119,
"ASSEMBLY": 326,
"JACK": 334,
"HYDRAULIC": 1421,
"CYLINDER": 2986
}
最佳答案
按如下方式取消Object.keys()
和map
即可达到预期结果。
const list = {
"CYLINDER": 2986,
"HYDRAULIC": 1421,
"JACKS": 84,
"INSTALLATION": 119,
"REAR": 61,
"JACK": 334,
"TUBE": 1,
"FEED": 114,
"ASSEMBLY": 326,
"DCS": 2,
"TOWER": 65,
"RAISING": 8,
"BREAKOUT": 6,
};
var newList = {};
Object.keys(list).sort(function(a,b){return list[a]-list[b]})
.map(key => newList[key] = list[key]);
console.log(newList);
关于javascript - 如何使用多个键按对象的值对对象进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55520228/