js 自带的sort() 方法全面了解
1.方法概述
Array的sort()方法默认把所有元素先转换为String再根据Unicode排序,
sort()会改变原数组,并返回改变(排序)后的数组。
2.例子
2.1
如果没有提供自定义的方法,数组元素会被转换成字符串,并返回字符串在Unicode编码下的顺序比较结果
varfruit=['cherries','apples','bananas']; fruit.sort();//['apples','bananas','cherries'] varscores=[1,10,2,21]; scores.sort();//[1,10,2,21] //Watchoutthat10comesbefore2, //because'10'comesbefore'2'inUnicodecodepointorder. varthings=['word','Word','1Word','2Words']; things.sort();//['1Word','2Words','Word','word'] //InUnicode,numberscomebeforeuppercaseletters, //whichcomebeforelowercaseletters.
2.2利用map来排序
//thearraytobesorted
varlist=['Delta','alpha','CHARLIE','bravo'];
//temporaryarrayholdsobjectswithpositionandsort-value
varmapped=list.map(function(el,i){
return{index:i,value:el.toLowerCase()};
})
//sortingthemappedarraycontainingthereducedvalues
mapped.sort(function(a,b){
return+(a.value>b.value)||+(a.value===b.value)-1;
});
//containerfortheresultingorder
varresult=mapped.map(function(el){
returnlist[el.index];
});
alert(result);
参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
以上这篇js自带的sort()方法全面了解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。