2
可能重複:
Sorting JavaScript Object by property valueJavascript - 計數重複的JSON值和排序計數與關聯密鑰?
我想爲我的JSON內的一些數值結果的最前面。更容易的例子來說明:
var jsonData = {
bom: [
{
"Component":"Some Thing",
"Version":"Version ABC",
"License":"License ABC",
},
{
"Component":"Another Thing",
"Version":"Version XYZ",
"License":"License ABC",
},
etc ....
]
}
所以我的目標是確定「許可證ABC」或者其他具有出現X號,然後我希望能夠排序的關鍵:val對的形式插入到到DOM爲「頂X最流行的許可證是:
- 許可ABC - 100
- 許可XYZ - 70
- 許可證123 - 25
現在我有這樣的:
var countResults = function() {
var fileLicenses = [];
for (var i = 0, arrLen = jsonData.files.length; i < arrLen; ++i) {
fileLicenses.push(jsonData.files[i]["License"]);
}
keyCount = {};
for(i = 0; i < fileLicenses.length; ++i) {
if(!keyCount[fileLicenses[i]]) {
keyCount[fileLicenses[i]] = 0;
}
++keyCount[fileLicenses[i]];
}
console.log(keyCount);
}();
當中去是我的大部分我想要的東西,與主要的對象:值
{
thisKey : 78,
thatKey :125,
another key : 200,
another key : 272,
another key : 45,
etc ...
}
但我不知道怎麼跟那個做什麼。我只需要對數字右邊的列進行排序,並讓相關的鍵保持一致。思考?謝謝!
感謝fencliff!插入它,它很好。仍然需要一些時間來理解邏輯,但只是我需要的。謝謝! – Matt
@Matt我在代碼中添加了一些註釋來解釋邏輯。如果解決方案有效,請不要忘記將答案標記爲已接受! – jevakallio
哇。真的很欣賞Fencliff的評論。該解決方案從一開始就工作得很好,但最好理解你所插入的東西!這有助於。再次感謝! – Matt