标签:12 20 age id arr2 数组 排序 多字段
普通排序
// 普通排序 var arr1 = [1,2,10,7,8,3,20] // 从小到大 arr1.sort((a, b) => a - b) // 箭头函数单行代码 可省 return console.log(arr1) // [1,2,3,7,8,10,20] // 从大到小 arr1.sort((a, b) => b - a) console.log(arr1) // [20,10,8,7,3,2,1]
对象单字段排序
// 对象单字段排序 var arr2 = [ { age: 12, id: 20 }, { age: 12, id: 15 }, { age:8, id:20 } ] // 根据对象中的字段 age 从小到大排序 arr2.sort((a, b) => a.age - b.age) console.log(arr2) // [ { age: 8, id: 20 }, { age: 12, id: 20 }, { age: 12, id: 15 } ]
对象多字段排序
var arr2 = [ { age: 12, id: 20 }, { age: 12, id: 15 }, { age:8, id:20 } ] // 对象多字段排序 // 先根据age 从小到大 排序 age相同则根据id从小到大排序 arr2.sort((a, b) => { if(a.age == b.age){ return a.id - b.id } else { return a.age - b.age } }) console.log(arr2) // [ { age: 8, id: 20 }, { age: 12, id: 15 }, { age: 12, id: 20 } ]
完整代码
// 普通排序 var arr1 = [1,2,10,7,8,3,20] // 从小到大 arr1.sort((a, b) => a - b) // 箭头函数单行代码 可省 return console.log(arr1) // [1,2,3,7,8,10,20] // 从大到小 arr1.sort((a, b) => b - a) console.log(arr1) // [20,10,8,7,3,2,1] // 对象单字段排序 var arr2 = [ { age: 12, id: 20 }, { age: 12, id: 15 }, { age:8, id:20 } ] // 根据对象中的字段 age 从小到大排序 arr2.sort((a, b) => a.age - b.age) console.log(arr2) // [ { age: 8, id: 20 }, { age: 12, id: 20 }, { age: 12, id: 15 } ] // 对象多字段排序 // 先根据age 从小到大 排序 age相同则根据id从小到大排序 arr2.sort((a, b) => { if(a.age == b.age){ return a.id - b.id } else { return a.age - b.age } }) console.log(arr2) // [ { age: 8, id: 20 }, { age: 12, id: 15 }, { age: 12, id: 20 } ]
结果
标签:12,20,age,id,arr2,数组,排序,多字段 来源: https://www.cnblogs.com/smile-fanyin/p/16374228.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。