当前位置: 首页 > news >正文

JavaScript数组使用sort排序

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

var num = [1,10,13,5,9];
num.sort();
alert(num.toString()); //错误的排序1,10,13,5,9
num.sort(compare);
alert(num.toString()); //正确的排序13,10,9,5,1

//比较函数
function compare(value1,value2){
    if(value1 == value2) {
        return 0;
    }
    if(value1 > value2) {
        return -1;
    }
    if(value1 < value2) {
        return 1;
    }
}

说明:数组排序sort本身会对数组每一项调用toSring()方法,所以比较数字时,数组中每一项数字都会被转化为为字符串,sort()根据字符串来排序,所以会出现13比5小的情况,正确的做法是使用一个比较函数做为参数

sort()返回值是经过排序后的数组

转载于:https://my.oschina.net/wuzhencan/blog/540318

相关文章:

  • junit测试时,出现java.lang.IllegalStateException: Failed to load ApplicationContext
  • 我的Android进阶之旅------Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项...
  • BZOJ1075 : [SCOI2007]最优驾车drive
  • SharePoint自动化系列——Create a local user and add to SharePoint
  • iOS 轻量级的数据库leveldb
  • 混合的方式开启服务
  • JSDOM对象控制HTML元素
  • NSObject
  • android 环境搭建
  • AJAX 跨域请求 - JSONP获取JSON数据 jsson和jsonp
  • 点击失去焦点的文字
  • mac 终端 常用命令
  • HP ProLiant DL380 G6 服务器 - 清 BIOS 的方法
  • Mysql isam数据库恢复实战
  • A*寻路算法的探寻与改良(二)
  • es的写入过程
  • Magento 1.x 中文订单打印乱码
  • nfs客户端进程变D,延伸linux的lock
  • quasar-framework cnodejs社区
  • spring cloud gateway 源码解析(4)跨域问题处理
  • spring security oauth2 password授权模式
  • vue的全局变量和全局拦截请求器
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 说说动画卡顿的解决方案
  • 译有关态射的一切
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​第20课 在Android Native开发中加入新的C++类
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 飞书APP集成平台-数字化落地
  • #单片机(TB6600驱动42步进电机)
  • (06)金属布线——为半导体注入生命的连接
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (南京观海微电子)——I3C协议介绍
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十一)c52学习之旅-动态数码管
  • (一)基于IDEA的JAVA基础12
  • (转)ABI是什么
  • .libPaths()设置包加载目录
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET 材料检测系统崩溃分析
  • .NET框架
  • .net与java建立WebService再互相调用
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [C puzzle book] types
  • [Codeforces] probabilities (R1600) Part.1
  • [C语言]——C语言常见概念(1)
  • [C语言]——函数递归
  • [EFI]Lenovo ThinkPad X280电脑 Hackintosh 黑苹果引导文件
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包
  • [IE9] IE9 RC版下载链接
  • [JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
  • [java面试]宇信易诚 广州分公司 java笔试题目回忆录