JavaScript如何以封装的方式实现冒泡排序

最近小编在学习蒋坤的JavaScript视频,里面谈到了js中实现冒泡排序的方法,并且做到了很好的封装,以及灵活变动。具体的内容,请看正文。

未使用封装的代码

 1.这段代码里面的核心代码理解了,便很好完成。

var arr=[1,6,3]; //冒泡 for(var i=0;i<arr.length;i++){           for(var j=0;jarr[j+1]){   var t=arr[j];   arr[j]=arr[j+1];   arr[j+1]=t;  }    }         } alert(arr);

登录后复制

    运行显示:

                                JavaScript如何以封装的方式实现冒泡排序

 使用封装之后的代码

立即学习“Java免费学习笔记(深入)”;

                                                                                                var arr=[1,6,3];              //冒泡--添加了封装性的方法             var mySort=function(arr,f){      for(var i=0;i<arr.length;i++){                for(var j=0;j0){  var t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t;   }  }                }             };               //传两个参数,一个待排序的数组,一个方法(判断是升序还是降序)

登录后复制

             //升序function(a,b){return a-b};              mySort(arr,function(a,b){return b-a;});             alert(arr);

登录后复制

  运行图:

   JavaScript如何以封装的方式实现冒泡排序

其中关于传参的部分,决定是升序和降序的方法f,可以有两种方法,实现默认使用升序,不添加f的方法参数,如下的代码:

                 //默认使用升序 //默认不传参,f的值为undefined

登录后复制

                 //第一种方法 f=f? f:function(a,b){return a-b;};

登录后复制

                 //第二种方法 //利用逻辑或的逻辑中断 //js中的逻辑或运算,参与运算的数据不是Boolean类型时,若第一个操作数为真,着表达式是第一个操作数据 //若第一个表达式为假,则返回第二个操作数的值 f=f||function(a,b){return a-b;};

登录后复制

对比

    使用封装的方法,可以灵活地更改排序的方式,降序和升序。只需要在定义f这个方法时,更改一下条件即可,并且封装好的排序方法,可以方便调用。

小结

    关于封装的方法,在JavaScript中又得到了很好的学习认识。不断反复,不断积累~~~

以上就是JavaScript如何以封装的方式实现冒泡排序的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月8日 14:05:21
下一篇 2025年2月26日 22:03:50

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

相关推荐

  • JS中的关于call()和apply()的用法小结

    本篇文章给大家分享的内容是JS中的关于call()和apply()的用法小结,有着一定的参考价值,有需要的朋友可以参考一下 最近又遇到了jacvascript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的…

    编程技术 2025年3月8日
    200
  • 代码详解React Js 微信分享封装

    本篇文章给大家分享的内容是代码详解React Js 微信分享封装,有着一定的参考价值,有需要的朋友可以参考一下 话不多说,直接上源代码: /** * Created by wuyakun on 2017/5/23. */import Fet…

    编程技术 2025年3月8日
    200
  • 使用Angularjs和Vue.js对比

    本篇文章介绍的内容是关于使用Angularjs和Vue.js对比 ,现在分享给大家,有需要的朋友可以参考一下 使用Angularjs和Vue.js对比 之前项目都是使用Angularjs,(注明此处主要讲Angularjs 1)在初步使用V…

    编程技术 2025年3月8日
    200
  • RequireJS模块化开发

    本篇文章介绍的内容是RequireJS模块化开发,现在分享给大家,有需要的朋友可以参考一下 模块化开发有很多种方式,如amd,cmd, 使用require进行模块化,只要导入一个js就可, 使用require.js的第一步,是先去官方网站下…

    编程技术 2025年3月8日
    200
  • js 常用的工具方法

    本篇文章介绍的内容是关于js 常用的工具方法,现在分享给大家,有需要的朋友可以参考一下 1、cookie 操作 // setCookie()// @About 设置cookie 默认一个月失效function setCookie(name,…

    2025年3月8日 编程技术
    200
  • JS的数据类型

    本篇文章介绍的内容是js的数据类型,在这里分享给大家,有需要的朋友可以参考一下 基础数据类型 JavaScript数据类型有2大分类:一是“基本数据类型”,二是“特殊数据类型”。 其中,基本数据类型包括以下3种: (1)数字型(Number…

    编程技术 2025年3月8日
    200
  • 移动端适配之rem.js

    下面这篇文章在这里分享给大家的内容是关于移动端适配之rem.js,具有一定的额参考价值,有需要的朋友可以参考一下 移动端网页适配是一个麻烦事, 常见做法有媒体查询, js控制等. 媒体查询个人感觉比较冗余, 可少量使用, 偏爱于js来控制.…

    2025年3月8日
    200
  • JS的数据结构

    本文给大家分享的内容是关于js的数据结构,具有一定的参考价值,有需要的朋友可以参考一下 一、标识符 标识符,说白了,就是一个名字。在JavaScript中,变量和函数等都需要定义一个名字,这个名字就可以称为“标识符”。 JavaScript…

    编程技术 2025年3月8日
    200
  • JS中的判断类型

    本篇文章给大家分享的内容是关于JS中的判断类型,具有一定的参考价值,有需要的朋友可以参考一下 在js里判断类型一般有四种方法 一, typeof:这个方法大家都知道,有很多类型都判断不出来的,不推荐 二, constructor:每个函数都…

    编程技术 2025年3月8日
    200
  • 关于js的规范

    本篇文章给大家分享的内容是关于js的规范 问题,具有一定的参考价值有需要的朋友可以参考一下 目录 嵌入规则 对齐缩进与换行 命名 声明 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号 块 注释 空白 逗号 分号 类型转换 命名…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论