js 自带的sort() 方法全面了解

前端之家收集整理的这篇文章主要介绍了js 自带的sort() 方法全面了解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 方法概述

Array的sort()方法默认把所有元素先转换为String再根据Unicode排序,

sort()会改变原数组,并返回改变(排序)后的数组 。

2. 例子

2.1  

如果没有提供自定义方法, 数组元素会被转换成字符串,并返回字符串在Unicode编码下的顺序比较结果

var scores = [1,10,2,21];
scores.sort(); // [1,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']
// In Unicode,numbers come before upper case letters,// which come before lower case letters.

2.2 利用map来排序

// 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相关文章