js按照数组中对象的某个属性排序

时间:2020-9-6 作者:admin

1.代码

// 排序数组里对象是按照字母排序的
        Compare(ticked, name) {
            return function(a, b) {
                var t1 = a[ticked];
                var s1 = a[name];
                var t2 = b[ticked];
                var s2 = b[name];
                if (t1) {
                    if (t2) {
                        return s1.localeCompare(s2);
                    } else {
                        return -1;
                    }
                } else {
                    if (!t2) {
                        return s1.localeCompare(s2);
                    } else {
                        return 1;
                    }
                }
            }
        },

2.使用方法

var arr5 = [{
            id: 10,
            first:'a'
        }, {
            id: 5,
            first:'f'
        }, {
            id: 6,
            first:'j'
        }, {
            id: 9,
            first:'e'
        }, {
            id: 2,
            first:'b'
        }, {
            id: 3,
            first:'p'
        }];
        let arr = arr5.sort(this.Compare('first', 'first'))
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。