js 自带的sort() 方法全面了解


Posted in Javascript onAugust 16, 2016

1. 方法概述

Array的sort()方法默认把所有元素先转换为String再根据Unicode排序,

sort()会改变原数组,并返回改变(排序)后的数组 。

2. 例子

2.1

如果没有提供自定义的方法, 数组元素会被转换成字符串,并返回字符串在Unicode编码下的顺序比较结果

var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort(); // ['apples', 'bananas', 'cherries']

var scores = [1, 10, 2, 21]; 
scores.sort(); // [1, 10, 2, 21]
// Watch out that 10 comes before 2,
// because '10' comes before '2' in Unicode code point order.

var things = ['word', 'Word', '1 Word', '2 Words'];
things.sort(); // ['1 Word', '2 Words', 'Word', 'word']
// In Unicode, numbers come before upper case letters,
// which come before lower case letters.

2.2 利用map来排序

// the array to be sorted
var list = ['Delta', 'alpha', 'CHARLIE', 'bravo'];

// temporary array holds objects with position and sort-value
var mapped = list.map(function(el, i) {
 return { index: i, value: el.toLowerCase() };
})

// sorting the mapped array containing the reduced values
mapped.sort(function(a, b) {
 return +(a.value > b.value) || +(a.value === b.value) - 1;
});

// container for the resulting order
var result = mapped.map(function(el){
 return list[el.index];
});

alert(result);

参考 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

以上这篇js 自带的sort() 方法全面了解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的修改当前TAB显示标题的代码
Dec 11 Javascript
jQuery链使用指南
Jan 20 Javascript
js获取所有checkbox的值的简单实例
May 30 Javascript
老生常谈JavaScript 函数表达式
Sep 01 Javascript
JavaScript数组复制详解
Feb 02 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
Jul 06 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
Sep 04 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
微信小程序实现富文本图片宽度自适应的方法
Jan 20 Javascript
javascript实现小型区块链功能
Apr 03 Javascript
jquery插件实现搜索历史
Apr 24 jQuery
JavaScript实战之菜单特效
Aug 16 #Javascript
深入理解js generator数据类型
Aug 16 #Javascript
js 创建对象 经典模式全面了解
Aug 16 #Javascript
js 上传文件预览的简单实例
Aug 16 #Javascript
js removeChild 方法深入理解
Aug 16 #Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
Aug 16 #Javascript
总结Node.js中的一些错误类型
Aug 15 #Javascript
You might like
PHP中session变量的销毁
2014/02/27 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
php实现文件上传基本验证
2020/03/04 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
django框架auth模块用法实例详解
2019/12/10 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
行政前台岗位职责
2013/12/04 职场文书
小学生演讲稿
2014/01/12 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
党员学习型组织心得体会
2019/06/21 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python