直接看代码吧,测试结果也贴在里面了

var arrDemo = new Array();

 arrDemo[0] = 10;
 arrDemo[1] = 50;
 arrDemo[2] = 51;
 arrDemo[3] = 100;

 arrDemo.sort(); //调用sort方法后,数组本身会被改变,即影响原数组

 alert(arrDemo);//10,100,50,51 默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序

 arrDemo.sort(function(a,b){return a>b?1:-1});//从小到大排序

 alert(arrDemo);//10,50,51,100

 arrDemo.sort(function(a,b){return a<b?1:-1});//从大到小排序

 alert(arrDemo);//100,51,50,10

结论:

1.数组调用sort方法后,会影响本身(而非生成新数组)

2.sort()方法默认是按字符来排序的,所以在对数字型数组排序时,不可想当然的以为会按数字大小排序!

3.要改变默认的sort行为(即按字符排序),可以自行指定排序规则函数(如本例所示)

转载于:https://www.cnblogs.com/yjmyzz/archive/2009/10/20/1586896.html

js中数组(Array)的排序(sort)注意事项相关推荐

  1. js中数组反向、排序reverse、sort

    全栈工程师开发手册 (作者:栾鹏) js系列教程1-数组操作全解 js中数组反向.排序 数组反向使用reverse函数,数组排序使用sort函数,排序函数可以传入比较函数,也可以修改数组圆形,自定义添 ...

  2. JS中数组(Array)、Json对象长度(length)获取方法

    JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...

  3. JS中数组Array的用法{转载}

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

  4. Js中数组Array的用法

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

  5. js中的数组Array定义与sort方法使用示例

    js中的数组Array定义与sort方法使用示例 Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList  定义方法:  1:使用new Array(5  )创建数 ...

  6. js中数组定义Array

    全栈工程师开发手册 (作者:栾鹏) js系列教程1-数组操作全解 js中数组定义 js中数组的定义非常简单,包含以下5中方式.不过首先要明确的是数组是Array类型的.不是基本数据类型 代码如下: v ...

  7. js中数组原型Array、自定义原型函数Array.prototype

    全栈工程师开发手册 (作者:栾鹏) js系列教程1-数组操作全解 js中数组原型.自定义原型函数 每个数组都包含length.prototype.constructor属性. 通过在prototype ...

  8. js中数组常用的方法总结,包括ES6

    原文地址:js中数组常用的方法总结,包括ES6 1.push() 后增 push()方法可以向数组后添加一个新的元素,并返回新数组的长度. 末尾添加,返回长度,改变原数组 var a = [1,2,3 ...

  9. JS中对象按属性排序(冒泡排序)

    原文地址 https://www.cnblogs.com/it-Ren/p/10898947.html 一路向北√ 越努力,越幸运. JS中对象按属性排序(冒泡排序) 冒泡排序:它重复地走访过要排序的 ...

  10. JS中数组使用的方法

    JS中数组使用的方法 数组的介绍 JavaScript Array(数组):属于对象的一种 在句子中的作用就是使用一个单独的变量来存储一系列的值 数组的创建方法 1.字面量方式:var arr=[] ...

最新文章

  1. 客快物流大数据项目(十六):使用脚本创建镜像
  2. 产生的DLL (VS2005, MATLAB7.5, mwArray)
  3. Java同步锁——lock与synchronized 的区别【转】
  4. Win10+VSCode搭建opencv+C++环境(2)
  5. React-组件的生命周期
  6. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环
  7. JAVA多线程-CountDownLatch计数器
  8. 应急响应系统日志及日志分析四
  9. 一信通短信接口对接_实例分享:验证码短信接口如何对接?接口api哪个好用?...
  10. Java实现拖动图片验证处理
  11. 2019新版《龙果学院JavaEE秒杀系统企业级实战应用教程》
  12. html如何控制plc,PLC系统是如何控制数控机床的
  13. BIOS int 10H中断介绍
  14. Barsetto百胜图BAV02自助咖啡机——创新咖啡体验
  15. 对待新知识、新领域的心态——好奇、批判、独孤求败
  16. win用户计算机批量添加用户,win10系统巧用cmd命令快速创建新账户的技巧
  17. Opencv C++ 学习视频整理源代码(1)
  18. 嵌入式状态机编程简介
  19. Linux命令-查看用户的UID和GID
  20. 从开发转到安全渗透工程师,是我做的最对的决定

热门文章

  1. 不要浪费没有标注的数据!超强文本半监督方法MixText来袭!
  2. 【论文解读】图文并茂带你细致了解ELMo的各种细节
  3. 机器学习中的「相似度度量」方法及应用
  4. 数据分析_金额业务数据知识
  5. jupyter notebook 多行输出
  6. NLP学习—21.自注意力机制(Self-Attention)与Transformer详解
  7. Netty in action—Netty组件和设计
  8. 庖丁解牛:控件事件和数据回发概述
  9. 309. 最佳买卖股票时机含冷冻期
  10. 17.1加入主题模型的文本增强