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 相关文章推荐
原生JS可拖动弹窗效果实例代码
Nov 09 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
Aug 26 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
常用原生JS兼容性写法汇总
Apr 27 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 Javascript
node内置调试方法总结
Feb 22 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
不得不知的ES6小技巧
Jul 28 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
Openlayers绘制聚合标注
Sep 28 Javascript
js实现简单的倒计时
Jan 28 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
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
php生成验证码函数
2015/10/20 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
Javascript复制实例详解
2016/01/28 Javascript
javascript每日必学之封装
2016/02/23 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
webpack入门必知必会
2017/01/16 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
python简单实现旋转图片的方法
2015/05/30 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
css sprite简单实例
2016/05/23 HTML / CSS
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
交通事故私了协议书
2014/04/16 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
委托收款证明
2015/06/23 职场文书
学校教师培训工作总结
2015/10/14 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
使用python创建股票的时间序列可视化分析
2022/03/03 Python
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python