javaScript中如何实现给object数组进行排序

作者:日期:2014-02-25 15:09:26 点击:177

给object数组进行排序(排序条件是每个元素对象的属性个数,程序代码如下所示:

var obj1 = {
    att1: 0,
    att2: 0,
    att3: 0,
    att4: 0,
};
var obj2 = {
    att1: 0,
    att2: 0,
    att3: 0,
    att4: 0,
    att5: 0,
};
var obj3 = {
    att1: 0,
    att2: 0,
    att3: 0,
    att4: 0,
    att5: 0,
    att6: 0,
};
var aObjs = [obj1, obj2, obj3];
aObjs.sort(function() {
    for (var i = 0; i < 2; i++) {
        arguments[i].length = 0;
        for (var att in arguments[i]) {
            if (argument[i].hasOwnProperty(att)) {
                arguments[i].length++;
            }
        }
    }
    return arguments[0].length - arguments[1].length;
});
console.log(aObjs);

知识点:

(1)重写sort方法。

(2)通过arguments访问每个对象。

(3)通过for in迭代对象中的数组。

arguments[0].length-arguments[1].length值大于1为从小到大排序,为负是从大到小排序。

上一篇: javascript在String中写一个方法trim,要求能够去除一个字符串开始和结尾的空格

下一篇: javascript实现:(5).plus(3).minus(6)结果为2的代码