js 自带的 sort() 方法
2024-10-10 15:06:16
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
最新文章
- 日志log2
- couchDB文档
- 一份关于Swift语言学习资源的整理文件
- linux源代码安装程序
- Hibernate多对多双向关联
- Ubuntu 14 安装Java(JRE、JDK)
- 利用BMFont和NGUI制作字体集
- 利用Keydown事件阻止用户输入
- C++ string的大小写转换
- 标准Web系统的架构分层[转]
- linux page cache和buffer cache
- 【H5开发基础】移动端1像素边框问题的解决方案
- datagrid的基本操作-增删改
- 自定义一个EL函数
- zigbee 安全通信加密链接密钥
- redie config 详解
- 基于Cookie的购物车
- 动画-缩放,旋转 CGAffineTransform
- vue2.0使用记录
- LeetCode31.下一个排列 JavaScript