JavaScript实现对象数组按不同字段排序
如果有一个对象数组,我们想要依据某个对象属性对数组进行排序。而传递给数组sort()方法的比較函数要接收两个參数,即要比較的值。但是。我们须要一种方式来指明依照哪个属性来排序。要解决问题,能够定义一个函数,它接收一个属性名,然后依据这个属性名来创建一个比較函数,以下就是这个函数的定义。
function createComparionFun(propertyName) { return function(object1,object2) { var value1=object1[propertyName]; var value2=object2[propertyName]; if(value1<value2) { return -1; }else if(value1>value2) { return 1; }else { return 0; } } }
上面的这个函数能够像在以下样例中这样使用。
var data=[{name:"zom",age:18},{name:"nbd",age:20}]; data.sort(creatComparionFun("name")); alert(data[0].name);//nbd data.sort(creatComparionFun("age")); alert(data[0].name);//zom这样就实现了按不同属性进行排序。
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 字符集、编码的前世今生
· Web性能优化:从 2 秒到200毫秒
· WPF 使用GDI+提取图片主色调并生成Mica材质特效背景
· golang遍历处理map时的常见性能陷阱
· .NET8带来的一些新特性
· Web性能优化:从 2 秒到200毫秒
· 看到这种代码,我直接气到想打人
· Winform高级技巧-界面和代码分离的实践案例
· 1 分钟生成架构图?程序员 AI 绘图保姆级教程
· 字符集、编码的前世今生