天蓬老师2017-05-19 10:12:41
1 var obj = {
2 '1':{
3 val:'red'
4 },
5 '99':{
6 val:'yellow'
7 },
8 '37':{
9 val:'blue'
10 }
11 };
12
13 function selirizeData(obj){
14 var keys = Object.keys(obj).sort(function(a,b){
15 return a-b;
16 });
17 var newObj = {};
18 keys.forEach(function(val){
19 newObj[val] = obj[val];
20 });
21 console.log(keys);
22 console.log(newObj);
23 }
24 selirizeData(obj);
先用Object.keys()取得物件的鍵數組,然後用數組的排序方法進行排序,再用數組的foreach方法循環下數組,將原始物件的資料排序後寫入到新的物件中。
淡淡烟草味2017-05-19 10:12:41
思路:forin
所有的key
到Array
,排序Array.sort()
,遍历Array
,按顺序取值obj[key]
var keys = [];
for (var i in obj) {
keys.push(i);
}
keys.sort();
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
console.log(obj[key]);
}