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判断单选框或复选框是否选中方法集锦
Apr 04 Javascript
javascript 常用关键字列表集合
Dec 04 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
JQuery页面地址处理插件jqURL详解
May 03 Javascript
JavaScript中的原始值和复杂值
Jan 07 Javascript
jQuery ajax时间差导致的变量赋值问题分析
Jan 22 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
Apr 25 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
js脚本中执行java后台代码方法解析
Oct 11 Javascript
Node.js 中判断一个文件是否存在
Aug 24 Javascript
vue 全局封装loading加载教程(全局监听)
Nov 05 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
windows xp下安装pear
2006/12/02 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
js的event详解。
2006/09/06 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
2014/02/26 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
如何提高数据访问速度
2016/12/26 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python中and和or如何使用
2020/05/28 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
Gap工厂店:Gap Factory
2017/11/02 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
《圆明园的毁灭》教学反思
2014/02/28 职场文书
会计学习心得体会
2014/09/09 职场文书
房屋出售授权委托书
2014/10/12 职场文书
四年级学生期末评语
2014/12/26 职场文书
入党自荐书范文
2015/03/05 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS