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 相关文章推荐
eclipse如何忽略js文件报错(附图)
Oct 30 Javascript
jquery 为a标签绑定click事件示例代码
Jun 23 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
AngularJS Module方法详解
Dec 08 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
AngularJS入门教程之MVC架构实例分析
Nov 01 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
Nov 25 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
webpack4打包vue前端多页面项目
Sep 17 Javascript
vue路由的配置和页面切换详解
Sep 09 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
JS继承用法实例分析
2015/02/05 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
pymysql模块的操作实例
2019/12/17 Python
Python实现井字棋小游戏
2020/03/09 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
东方电视购物:东方CJ
2016/10/12 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
公司综合部的成员自我评价分享
2013/11/05 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
干部下基层实施方案
2014/03/14 职场文书
2014春晚主持词
2014/03/25 职场文书
企业百日安全活动总结
2015/05/07 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js
nginx内存池源码解析
2021/11/20 Servers