数组里,有几个对象,需要按照属性排序,可以使用下面方法:
//按照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
=============== update in 2021.6.3 =======================
上面写那么多,实际上几行代码ok
let arr = [ {name:'zs',age:12}, {name:'ls',age:6}, {name:'ww',age:24}, ]; // 从小到大 let compare = (property)=>(a, b)=> a[property] - b[property] console.log(arr.sort(compare('age'))); // 从大到小 let compare2 = (property) =>(a,b) => b[property] - a[property] console.log(arr.sort(compare2('age')));
分类:
js
标签:
数组里的对象属性排序
, js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通