js 数组中对象排序以及比较相等

js数组排序

通过arr中对象的属性进行排序

在往数组中存对象时,我给对象添加了个字段rowid,number类型,可以通过rowid字段对数组中的对象进行排序,关于sort具体使用可以百度W3CSchool 或者菜鸟教程,那里有详细的介绍,网上也有许多的介绍,这只给排序的代码

/*
*x,y:数组中的对象
*/
mobileArr.sort(function (x, y) {
                        return x.rowid > y.rowid ? 1 : -1;
                    });

js数组对象比较大小

我从网上摘了一些代码,再加上项目需要,简单的封装了一下,逻辑也挺简单的,有问题自己上网百度一下

//判断相等返回 index
    var arrUtil = {
        equal: function (arr, obj) {
            if (arr.length != 0){
                for (var i = 0; i < arr.length; i++) {
                    if (equals(arr[i], obj)) {
                        return true;
                    }
                }
            } else {
                return false;
            }
            return false;
        },
        getIndex: function (arr, obj) {
            if (arr.length != 0) {
                for (var i = 0; i < arr.length; i++) {
                    if (equals(arr[i], obj)) {
                        return true;
                    }
                }
            }
            return false;
        }
    }
    
    //判断是否相等 (下面有地址)
    function equals(x, y) {
        var in1 = x instanceof Object;
        var in2 = y instanceof Object;
        if (!in1 || !in2) {
            return x === y;
        }
        if (Object.keys(x).length !== Object.keys(y).length) {
            return false;
        }
        for (var p in x) {
            var a = x[p] instanceof Object;
            var b = y[p] instanceof Object;
            if (a && b) {
                return equals(x[p], y[p]);
            } else if (x[p] !== y[p]) {
                return false;
            }
        }

        return true;
    }    

判断对象是否相等地址

你可能感兴趣的:(js 数组中对象排序以及比较相等)