排序的對象與JS
回答
var objUnordered = { alexa: 1, John: 5, Bill: 2 };
var objOrdered = {};
var sortable = [];
for (var element in objUnordered){
sortable.push([element, objUnordered[element]]);
}
sortable.sort(function(a, b) {return a[1] - b[1]})
for(var key in sortable){
objOrdered[sortable[key][0]] = sortable[key][1];
}
console.log(objOrdered); //print this -> Object { alexa=1, Bill=2, John=5}
工作,謝謝soooo多!!! – user3474502
,您仍然可以拿到鑰匙的數組進行排序 - 然後就循環鍵數組來訪問你的對象以正確的順序:
var obj = { alexa: 1, John: 5, Bill: 2 };
var sortedKeys = Object.keys(obj).sort(function(a, b) {
return obj[a] - obj[b]
});
sortedKeys.forEach(function(k) {
console.log(obj[k]);
});
創建從對象的數組:
var sortedArray = Object.keys(obj).sort(function(a, b) {
return obj[a] - obj[b]
}).map(function(k) {
var o = {};
o[k] = obj[k];
return o;
});
這可行,但我需要的輸出是{Alexa :1,Bill:2,John:5}當它被排序時,我需要知道屬於每個數字的鍵,因爲這些值可以重複... – user3474502
將格式更改爲數組,類似'[{名稱:'Alexa',麻木:1},{名稱:'比爾',麻木:2}]',那麼你可以對它進行排序,並保持跟蹤 – adeneo
@ user3474502對象不*排序。 「{Alexa:1,Bill:2,John:5}」與「{Alexa:1,John:5,Bill:2}」完全一樣,對它進行排序是一個無稽之談。 –
- 1. 排序JS對象
- 2. 如何排序對象的JS對象?
- 3. JS - 排序對象中的子對象
- 4. 對象排序與對象
- 5. 用鍵(JS)排序對象
- 6. NSMutableArray的排序與對象
- 7. 排序JSON對象與ID
- 8. 排序JS對象的關鍵降序排列
- 9. 如何排序JS對象文字?
- 10. 與JS對象
- 11. 智能表st-sort Angular JS - 排序不對象的對象
- 12. NSArray的排序與自定義對象
- 13. 與對象進行排序的NSArray
- 14. DataGridView的列與業務排序對象
- 15. 排序的對象
- 16. 排序對象
- 17. 排序對象
- 18. 排序對象
- 19. 排序對象
- 20. 排序對象
- 21. 排序對象
- 22. 排序對象
- 23. 排序對象
- 24. 排序對象
- 25. 根據js中的值對對象進行排序
- 26. 多字對象中的大端排序與小端排序
- 27. 排序Div與原型Js
- 28. 排序對象的列表與對象ID
- 29. 排序集合的Java對象排序
- 30. 排序@Sortable對象的降序排列
你不想。 –
對象中沒有順序,無法排序 – adeneo
如果您的意思是「使用排序後的元素打印對象」,那麼您可以(也應該)編輯問題:) – wil93