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判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
Oct 15 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 Javascript
Node.js Sequelize如何实现数据库的读写分离
Oct 23 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
JavaScript中正则表达式使数字、中文或指定字符高亮显示
Oct 31 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 Javascript
如何获取vue单文件自身源码路径
May 06 Javascript
vue视频播放插件vue-video-player的具体使用方法
Nov 08 Javascript
webpack+express实现文件精确缓存的示例代码
Jun 11 Javascript
js实现3D旋转相册
Aug 02 Javascript
jQuery-App输入框实现实时搜索
Nov 19 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
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
jquery序列化方法实例分析
2015/06/10 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
Python连接数据库学习之DB-API详解
2017/02/07 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
会计助理的岗位职责
2013/11/29 职场文书
卫生安全检查制度
2014/02/04 职场文书
白酒市场营销方案
2014/02/25 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
五年级学生期末评语
2014/12/26 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
靠谱准确的求职信
2019/04/02 职场文书