給object數組進行排序(排序條件是每個元素對象的屬性個數)


湯姆大叔的博客里看到了6個基礎題目:本篇是第3題 - 給object數組進行排序(排序條件是每個元素對象的屬性個數)

 

解題關鍵:

1、Array.sort的用法

2、object的屬性數量的統計

 

解點1:Array.sort的用法

Array.sort可以為數組指定一個排序規則,一般用如下格式進行指定,代碼如下:

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;
} ) )

 

解點2:object屬性的數量統計

Object.getPropertyNames(obj).length

 

最終實現的代碼如下:

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 );
} );

 

此題解答完畢!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM