详解js数组实现排序的sort()方法(代码实例)

sort()如何实现js数组的排序?本篇文章就给大家介绍一下js数组实现排序的sort()方法,让大家可以了解js数组中sort()排序的原理,知道sort()是如何给js数组排序的。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

首先我们了解一下js sort()方法,通过简单的代码实例来看看sort()排序的方法。

sort() 方法:用于对数组的元素进行排序;在给数组排序时,不开辟新的内存,是在原有数组元素上进行调换的。

1、sort()方法实现js简单数组的简单排序(冒泡排序)

nbsp;html>

数组:6,2,4,3,5,1

排序后:
var arrSimple = new Array(6,2,4,3,5,1);arrSimple.sort();document.writeln(arrSimple.join());

登录后复制

效果图:

1.jpg

我们来看看sort()排序原理:

sort()排序是进行的两两比较.
数组:[6,2,4,3,5,1]

第一轮开始
   第1次比较6和2,6比2大,得到2和6,原数组变成[2,6,4,3,5,1]
   第2次比较第2个和第3个数:6和4,6比4大,得到4和6,结果[2,4,6,3,5,1]
   第3次比较第3个和第4个数:6和3,得到[2,4,3,6,5,1]
   第4次比较5和6,结果[2,4,3,5,6,1]
   第5次比较6和1,结果[2,4,3,5,1,6]
第一轮结束

第二轮开始
   第1次比较2和4,2比4小,结果不变[2,4,3,5,1,6]
   第2次比较4和3,结果[2,3,4,5,1,6]
   第3次比较4和5,4比5小,结果不变[2,3,4,5,1,6]
   第4次比较5和1,结果[2,3,4,1,5,6]
第二轮结束

第三轮开始
   第1次比较2和3,2比3小,结果不变[2,3,4,1,5,6]
   第2次比较3和4,3比4小,结果不变[2,3,4,1,5,6]
   第3次比较4和1 ,结果[2,3,1,4,5,6]
第三轮结束

第四轮开始
   第1次比较2和3,2比3小,结果不变[2,3,1,4,5,6]
   第2次比较1和3,结果 [2,1,3,4,5,6]
第四轮结束

第五轮开始
   第1次比较2和1,结果[1,2,3,4,5,6]
第五轮结束,排序结束。

数组排序后的结果(共进行了15次比较):[1,2,3,4,5,6]

2、sort()方法实现js简单数组的自定义排序

nbsp;html>

数组:1,8,7,6

从大到小 排序后:
var arrSimple2 = new Array(1, 8, 7, 6);arrSimple2.sort(function(a, b) {return b - a;});document.writeln(arrSimple2.join());

登录后复制

效果图:

2.jpg

我们来分析一下:

a,b表示数组中的任意两个元素,若return > 0,则返回的值为:b在前a在后(b,a);若reutrn

简单来说,就是:a-b输出从小到大排序,b-a输出从大到小排序。

3、sort()方法实现js简单对象数组的自定义属性排序(按照年龄属性排序)

nbsp;html>

对象数组:

jack,20岁
tony,25岁
stone,26岁
mandy,23岁

按照年龄排序后:
  var objectList = new Array(); function Persion(name,age){ this.name=name; this.age=age; } objectList.push(new Persion('jack',20)); objectList.push(new Persion('tony',25)); objectList.push(new Persion('stone',26)); objectList.push(new Persion('mandy',23)); //按年龄从小到大排序 objectList.sort(function(a,b){ return a.age-b.age}); for(var i=0;i<objectList.length;i++){ document.writeln('
'+objectList[i].name+','+objectList[i].age+'岁'); }

登录后复制

效果图:

3.jpg

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问JavaScript视频教程,jQuery视频教程,bootstrap教程!

以上就是详解js数组实现排序的sort()方法(代码实例)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2739236.html

(0)
上一篇 2025年3月8日 01:59:58
下一篇 2025年3月8日 02:00:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript中深拷贝和浅拷贝的区别介绍

    本篇文章给大家带来的内容是关于javascript中深拷贝和浅拷贝的区别介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 本文解释javascript中深拷贝和浅拷贝的区别。 浅拷贝/Shallow Copy 浅拷贝指拷…

    2025年3月8日
    200
  • $.ajax 、axios和fetch的简单介绍(附代码)

    本篇文章给大家带来的内容是关于$.ajax 、axios和fetch的简单介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Ajax 是什么? 答:Ajax是一种可以在浏览器和服务器之间使用异步数据传输(HTT…

    编程技术 2025年3月8日
    200
  • js中获取时间的常用方法(代码)

    本篇文章给大家带来的内容是关于js中获取时间的常用方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、获取当前时间的时间戳 //第一种方法(精确到秒) var timestamp = Date.parse(ne…

    编程技术 2025年3月8日
    200
  • js线程机制与事件机制的详细介绍(图文)

    本篇文章给大家带来的内容是关于js线程机制与事件机制的详细介绍(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、进程与线程 1.进程 进程是指程序的一次执行,它占有一片独有的内存空间,可以通过windows任务管…

    2025年3月8日 编程技术
    200
  • bootstrap datetimepicker日期插件美化的效果(代码)

    本篇文章给大家带来的内容是关于bootstrap datetimepicker日期插件美化的效果(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 需求: (1)日期面板默认展开 (2)可以根据点击的日期,处理额外的信…

    2025年3月8日
    200
  • 九个常用的JavaScript图表库的介绍

    本篇文章给大家带来的内容是关于九个常用的javascript图表库的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 当前,数据可视化已经成为数据科学领域非常重要的一部分。不同网络系统中产生的数据,都需要经过适当的可视化…

    2025年3月8日 编程技术
    200
  • css float的详细讲解(附实例)

    本篇文章给大家带来的内容是关于css float的详细讲解(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 div+css布局,是前端开发人员的核心技能,在工作中占很大的比重。良好的前端布局是进行javascrip…

    2025年3月8日 编程技术
    200
  • tab开发的一个简单实例(代码)

    本篇文章给大家带来的内容是关于tab开发的一个简单实例(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。使用了以下方法方法1-3中使用的changetabhandle函数 //当前点击按钮的索引function cha…

    编程技术 2025年3月8日
    200
  • JavaScript如何实现随机选人效果?(代码实例)

    javascript如何实现随机选人效果?本篇文章就给大家介绍javascript实现随机选人效果的方法(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 因工作需要,写了一个随机选人的小网页,先看效果图。 背景…

    2025年3月8日
    200
  • JavaScript学习之for循环与for/in循环介绍

    本篇文章就给大家带来javascript学习之for循环与for/in循环介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 循环可以将代码块执行指定的次数。 JavaScript 支持不同类型的循环: for &#82…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论