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 相关文章推荐
用Greasemonkey 脚本收藏网站会员信息到本地
Oct 26 Javascript
JQuery 图片延迟加载并等比缩放插件
Nov 09 Javascript
浅析return false的正确使用
Nov 04 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
js实现右键菜单功能
Nov 28 Javascript
页面点击小红心js实现代码
May 26 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
Aug 24 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
详解小程序不同页面之间通讯的解决方案
Nov 23 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
Aug 27 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 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
B2K与车机的中波PK
2021/03/02 无线电
Windows下安装Memcached的步骤说明
2010/04/25 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
Javascript高级技巧分享
2014/02/25 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
Angular开发实践之服务端渲染
2018/03/29 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
遗传算法python版
2018/03/19 Python
Python简单生成随机数的方法示例
2018/03/31 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
营销总经理岗位职责
2014/02/02 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
双创工作实施方案
2014/03/26 职场文书
小学节能减排倡议书
2014/05/15 职场文书
实习生工作证明范本
2014/09/14 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
Python实战之疫苗研发情况可视化
2021/05/18 Python
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL