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 相关文章推荐
Web层改进II-用xmlhttp 无声息提交复杂表单
Jan 22 Javascript
本地对象Array的原型扩展实现代码
Dec 04 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
如何使用json在前后台进行数据传输实例介绍
Apr 11 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
Nov 12 Javascript
javascript动态创建及删除元素的方法
Dec 22 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
Dec 25 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
Angular ng-animate和ng-cookies用法详解
Apr 18 Javascript
vue自定义指令实现方法详解
Feb 11 Javascript
微信小程序 如何保持登录状态
Aug 16 Javascript
JavaScript实现简单图片切换
Apr 29 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制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
Laravel5中contracts详解
2015/03/02 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
基于vue实现分页效果
2017/11/06 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
flask应用部署到服务器的方法
2019/07/12 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
keras得到每层的系数方式
2020/06/15 Python
Python包和模块的分发详细介绍
2020/06/19 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
教师廉洁自律承诺书
2014/05/26 职场文书
设备售后服务承诺书
2014/05/30 职场文书
七一党日活动总结
2014/07/08 职场文书
遗嘱格式范本
2015/08/07 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书