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 相关文章推荐
JavaScript去除空格的几种方法
Oct 03 Javascript
Ubuntu 11.10 安装Node.js的方法
Nov 30 Javascript
JQuery判断子iframe何时加载完成解决方案
Aug 20 Javascript
sogou地图API用法实例教程
Sep 11 Javascript
jQuery中unbind()方法用法实例
Jan 19 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
May 09 Javascript
Javascript this 函数深入详解
Dec 13 Javascript
JS作用域链详解
Jun 26 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 Javascript
JavaScript fetch接口案例解析
Aug 30 Javascript
js中console在一行内打印字符串和对象的方法
Sep 10 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
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
深入密码加salt原理的分析
2013/06/06 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
JavaScript delete 属性的使用
2009/10/08 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
详细介绍Ruby中的正则表达式
2015/04/10 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
车辆年审委托书范本
2014/09/18 职场文书
幼师辞职信范文
2015/02/27 职场文书