js使⽤sort()进⾏对象数组的排序代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>对象数组的排序</title>
</head>
<body>
<button type="button"onclick="a()">根据年龄升序</button>
<button type="button"onclick="b()">根据年龄降序</button>
<button type="button"onclick="c()">根据id升序</button>
<button type="button"onclick="d()">根据id降序</button>
<button type="button"onclick="e()">根据id升序,如果id相等根据年龄升序</button>
</body>
<script>
function a(){
let a =[{id:15,age:'18'},{id:8,age:'9'},{id:9,age:'24'},{id:7,age:'11'},{id:7,age:'10'},{id:7,age:'101'}]
a.sort((a,b)=>{return a.age-
b.age})
console.log(a)
}//根据年龄升序
function b(){
let a =[{id:15,age:'18'},{id:8,age:'9'},{id:9,age:'24'},{id:7,age:'11'},{id:7,age:'10'},{id:7,age:'101'}]
a.sort((a,b)=>{return
b.age-a.age})sort函数 js
console.log(a)
}//根据年龄降序
function c(){
let a =[{id:15,age:'18'},{id:8,age:'9'},{id:9,age:'24'},{id:7,age:'11'},{id:7,age:'10'},{id:7,age:'101'}]
a.sort((a,b)=>{return a.id-
b.id})
console.log(a)
}//根据id升序
function d(){
let a =[{id:15,age:'18'},{id:8,age:'9'},{id:9,age:'24'},{id:7,age:'11'},{id:7,age:'10'},{id:7,age:'101'}]
a.sort((a,b)=>{return
b.id-a.id})
console.log(a)
}//根据id降序
function e(){
let a =[{id:15,age:'18'},{id:8,age:'9'},{id:9,age:'24'},{id:7,age:'11'},{id:7,age:'10'},{id:7,age:'101'}]
a.sort((a,b)=>{
if(a.id==b.id){return a.age-b.age}
return a.id-b.id
})
console.log(a)
}//根据id升序,如果id相等根据年龄升序
</script>
</html>
打印结果如图:
总结:sort()进⾏排序的时候,如果不穿参数的话将不会按照数值⼤⼩排序,按照字符编码的顺序进⾏排序;如果传了参数的话(参数是⼀个函数),可以根据函数的返回结果进⾏升序和降序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。