之前总结过简单的数组排序,最近在⼯作中遇到要利⽤数组⾥⾯对象的某个属性值进⾏排序,最开始我⽤的是循环,从⽽对⽐它的属性值,忽然在⾼级程序设计上看到了更为简洁的办法,就是⽤sort(),以及作为值得函数,sort()很常⽤的排序⽅法,最主要的是⾥⾯的⽐较函数参数,最重要的是定义⼀个⽐较函数如下:
function creatCompare(propertyName) { return function (obj1,obj2) {
var value1=obj1[propertyName]; var value2=obj2[propertyName]; console.log(obj1) if(value1 这个就是⼀个函数⾥⾯嵌套了⼀个函数,⽽且内部函数前⾯有个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()的同学知道,该⽅法⾥⾯也是循环, 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务