1.sort()方法概述

  sort() 方法用于对数组的元素进行排序。

  如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,

  首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

  如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

  比较函数应该具有两个参数 a 和 b,其返回值如下:

   若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

   若 a 等于 b,则返回 0。

   若 a 大于 b,则返回一个大于 0 的值。

 Array.prototype.bubbleSort = function(fun){
for(var i = 0; i < this.length - 1; i++){//趟数
var flag = true;
for(var j = 0; j < this.length - i - 1 ; j++){//每趟比较之后会得出一个最大值沉底
if(typeof fun == "function"){
if(fun(this[j], this[j+1])>0){
//交换
flag = false;
var temp;
temp = this[j];
this[j] = this[j+1];
this[j+1] = temp;
}
}else{
if(this[j] > this[j+1]){
//交换
flag = false;
var temp;
temp = this[j];
this[j] = this[j+1];
this[j+1] = temp;
}
}
}
if(flag == true){
break;
}
}
return this;
}
var arr3 = arr.bubbleSort(function(a,b){
return b-a;
});
console.log(arr3);

最新文章

  1. springboot(九):定时任务
  2. windows下mysqlbinlog二进制恢复
  3. Arnold AtArray API Test
  4. AC日记——组合数问题 落谷 P2822 noip2016day2T1
  5. jQuery学习笔记——弹出对话框
  6. QQ右下角图标不见了
  7. SoapUI中如何传递cookie
  8. wpf+xml实现的一个随机生成早晚餐的小demo
  9. Ruby on Rails创始人DHH谈如何进行混合移动APP开发
  10. 用BroadcastReceiver监听网络状态的变化
  11. android shape总结 和控制的风格定制
  12. spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途
  13. Java多线程之三volatile与等待通知机制示例
  14. FTP服务-filezilla server 配置
  15. git在工作中的用法总结-环境安装篇
  16. 给Linux系统管理员准备的Nmap命令的29个实用范例
  17. 爬虫----爬虫请求库selenium
  18. 图书管理(Loj0034)+浅谈哈希表
  19. Python cv2 OpenCV 中传统图片格式与 base64 转换
  20. asp.net query string 及 form data 遇到的编码问题

热门文章

  1. CF 672D Robin Hood(二分答案)
  2. 记录一下gitlab通过CAS登录慢的问题
  3. 生产环境的gitlab大版本升级思路(从7.x升级到8.x)
  4. Linux渗透之反弹Shell
  5. 【CF708E】Student&#39;s Camp 组合数+动态规划
  6. springMVC去掉静态资源的拦截
  7. Xcode 6 下添加pch头文件
  8. 远程服务器git搭建
  9. Python面向对象之字段
  10. 【转】仅此一文让你明白ASP.NET MVC原理