首页 > 代码库 > 给object数组进行排序(排序条件是每个元素对象的属性个数)
给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,6console.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数组进行排序(排序条件是每个元素对象的属性个数)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。