從湯姆大叔的博客裏看到了6個基礎題目:本篇是第3題 - 給object數組進行排序(排序條件是每一個元素對象的屬性個數)javascript
解題關鍵:html
一、Array.sort的用法java
二、object的屬性數量的統計數組
Array.sort能夠爲數組指定一個排序規則,通常用以下格式進行指定,代碼以下:spa
var arr = [10,6,0,4]; console.log( arr.sort() ); //按字符排序 0,10,4,6 console.log( arr.sort( function(a,b) { //指定排序方式 0,4,6,10 return a - b; } ) )
Object.getPropertyNames(obj).length
最終實現的代碼以下:code
var person = { name:'Schoolar', age:35, like:'javascript' }, cat = { name:'kitty', food:'fish' }, car = { door:'four' }, objArray = [cat, car, person]; function sortObjectArray(objArray) { objArray.sort( function(a,b) { return Object.getOwnPropertyNames(a).length - Object.getOwnPropertyNames(b).length; } ); } sortObjectArray( objArray ); objArray.forEach( function(obj) { console.log( obj ); } );
此題解答完畢!htm