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()方法全面了解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。