zoukankan      html  css  js  c++  java
  • 数组对象中属性值排序

    之前总结过简单的数组排序,最近在工作中遇到要利用数组里面对象的某个属性值进行排序,最开始我用的是循环,从而对比它的属性值,忽然在高级程序设计上看到了更为简洁的办法,就是用sort(),以及作为值得函数,sort()很常用的排序方法,最主要的是里面的比较函数参数,最重要的是定义一个比较函数如下:

    function creatCompare(propertyName) {
            return function (obj1,obj2) {
                var value1=obj1[propertyName];
                var value2=obj2[propertyName];
                console.log(obj1)
                if(value1<value2){
                    return -1
                }else if(value1>value2){
                    return 1
                }else {
                    return 0
                }
            }
        }

    这个就是一个函数里面嵌套了一个函数,而且内部函数前面有个return ,在函数内部接收到propertyName后,会用方括号取得属性的值,然后就进入sort()的工作范围内,来个例子如下:

    var data=[{name:"xiaoming",age:13,weight:20,},{name:"liming",age:23,weight:21},{name:"zhangming",age:8,weight:66}]
    console.log(data.sort(creatCompare("age")))   //  

    很明显age属性已经进行排序,其实熟悉sort()的同学知道,该方法里面也是循环,

  • 相关阅读:
    Redis分布式锁的正确实现方式(Java版)转载
    kali 安装 Burpsuite Pro v2020.8 破解
    DVWA On KALI
    Metasploit 体系结构
    Xmodem、Ymodem、Zmodem
    Metasploit psnuffle
    Metasploit通过ssh暴力破解
    使用ms17_010渗透win7
    Metasploit快速入门(二)
    Metasploit 快速入门(一)
  • 原文地址:https://www.cnblogs.com/yuanzhiguo/p/7989910.html
Copyright © 2011-2022 走看看