对象属性排序

数组里,有几个对象,需要按照属性排序,可以使用下面方法:

  //按照id从小到大排序
        var arr = [
            { name: "zs", id: '9' },
            { name: "ls", id: '16' },
            { name: "ww", id: '3' },
        ];

        function compare(property) {
            return function (a, b) {
                var value1 = a[property];
                var value2 = b[property];
                return value1 - value2;  // value1-value2是从小到大    如果是从大到小 return value2 -value1
            }
        }

        //正常for循环是没有排序的
        for(let i =0;i<arr.length;i++){
            console.log(arr[i]);
        }
         console.log(arr[0]);//9 
         console.log(arr[1]); //16
         console.log(arr[2]); // 3

         //使用排序方法后,打印的内容,按照id的从小到大排序
        console.log(arr.sort(compare('id')));
        for(let i = 0;i<arr.length;i++){
            console.log(arr.sort(compare('id'))[i]);
        }
        console.log(arr.sort(compare('id'))[0]) // 3
        console.log(arr.sort(compare('id'))[1]) // 9
        console.log(arr.sort(compare('id'))[2]) //16
原文地址:https://www.cnblogs.com/luguankun/p/10341039.html