码迷,mamicode.com
首页 > 编程语言 > 详细

给object数组进行排序(排序条件是每个元素对象的属性个数)

时间:2017-03-28 23:58:02      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:length   array   pre   tty   方式   like   排序   names   javascrip   

汤姆大叔的博客里看到了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 );
} );

 

此题解答完毕!

给object数组进行排序(排序条件是每个元素对象的属性个数)

标签:length   array   pre   tty   方式   like   排序   names   javascrip   

原文地址:http://www.cnblogs.com/langzs/p/6637471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!