对象数组通过对象的属性进行排序
最常见的对数组进行排序,可以用sort()方法,按照数组中元素的首字母或者数字大小进行排序
var arr = [2,5,13,7,4,9,1];
var arr1 = arr.sort(); console.log(arr); // [1, 13, 2, 4, 5, 7, 9]
console.log(arr1); // [1, 13, 2, 4, 5, 7, 9]
sort()方法会改变原来的数组,并且sort方法并不是严格按照数字大小排序的。如果想对数组按照大小进行排序,则需要在sort()方法添加比较函数
var arr = [2,5,13,7,4,9,1];
arr.sort(function(a,b){ return a-b; // -1 升序排列 })
console.log(arr); // [1, 2, 4, 5, 7, 9, 13]
那么可不可以利用sort方法对对象数组按照对象属性进行排序呢?
答案是可以的
像上面对数组按照大小排序,指定比较函数一样,只是此时比较的是对象的属性
上代码:对下列对象数组,按照age排序
var infoObj=[
{
name:"张三",
sex:'female',
age:30
},
{
name:"李四",
sex:'male',
age:20
},
{
name:"王五",
sex:'female',
age:40
} ];
// 指定排序的比较函数
function compare(property){
returnfunction(obj1,obj2){
var value1 = obj1[property];
var value2 = obj2[property];
return value1 - value2; // 升序
}
}
var sortObj = infoObj.sort(compare("age"));
console.log(sortObj); //
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗