JavaScript

js按属性对数组进行排序和分类

2019-07-21  本文已影响0人  Aniugel

1、第一步:按age属性进行排序

var arr = [
        { name: 'zhao', age: 0 },
        { name: 'chen', age: 18 },
        { name: 'sun', age: 8 }
    ];
    function compare(property) {
        return function (a, b) {//倒序的话a b换下位置
            return a[property] - b[property];
        }
    }
    console.log(arr.sort(compare('age')))

2、第二步:按属性分组

 var arr = [];//目标数组
    var foo = ''
    objArr.forEach((obj) => {
        if (foo === obj.age) {
            var lastArr = arr[arr.length - 1].name
            lastArr.push(obj.name)
        } else {
            var newArr = [];
            var newObj = {};
            newObj.age = obj.age;
            newArr.push(obj.name);
            newObj.name = newArr;
            arr.push(newObj)
        }
        foo = obj.age;
    })
    console.log(arr)
上一篇下一篇

猜你喜欢

热点阅读