使用Array.sort()排序,未实现排序结果

问题

使用Array.sort()方法对数组中的元素进行排序

let arr=[10,2,10,10,10,10,8,2,7,8]
arr.sort()
console.log(arr)

// [
//     10, 10, 10, 10, 10,
//      2,  2,  7,  8,  8
//   ]

输出结果未实现排序效果:

分析原因

sort()方法根据字符编码对数组中的元素进行排序,如果要实现对数字的排序使用以下方式

arr.sort((a,b)=>a-b)

[
//     2,   2,  3,  7,  8,
//     8,  10, 10, 10, 10,
//    10, 200
//  ]

输出结果:

总结

  • 数组元素升序排列方式
arr.sort((a,b)=>a-b)
  • 数组元素降序排列方式
arr.sort((a,b)=>b-a)
posted @ 2021-07-03 12:24  孤城牧笛  阅读(177)  评论(0)    收藏  举报