JavaScript中數(shù)組的排序、亂序和搜索實(shí)現(xiàn)代碼
默認(rèn)的sort()按字符編碼排序的:
<script type="text/javascript">
<!--
var testArray=[3,324,5345,6546,134,5654,665];
testArray.sort();
alert(testArray);
//-->
</script>
現(xiàn)在要讓它按照數(shù)值大小排序:
<script type="text/javascript">
<!--
var testArray=[3,324,5345,6546,134,5654,665];
testArray.sort(function(a,b){return a-b;});
alert(testArray);
//-->
</script>
只要傳遞一個(gè)比較函數(shù)給sort就可以了,如果比較函數(shù)的值小于0,則表示a必須出現(xiàn)在b前面,否則在b后面。
2. 亂序:
讓比較函數(shù)隨機(jī)傳回-1或1就可以了:
<script type="text/javascript">
<!--
var testArray=[1,2,3,4,5,6,7,8,9,10,22,33,55,77,88,99];
testArray.sort(function(){return Math.random()>0.5?-1:1;});
alert(testArray);
//-->
</script>
3. 搜索:
用sort()來玩搜索還蠻新鮮的,呵呵,看看是怎么玩的吧。
我現(xiàn)在要把數(shù)組里含有字母'a'的元素全部找出來,如果沒有sort(),似乎只能用遍歷了,遍歷的效率…那個(gè)叫恐怖?。?!具體做法如下:
<script type="text/javascript">
<!--
var testArray=['df', 'rtr', 'wy', 'dafd', 'dfs', 'wefa', 'tyr', 'rty', 'rty', 'ryt', 'afds', 'wer', 'te'];
testArray.sort(function(a,b){return a.indexOf('a')==-1?1:-1;});
alert(testArray);
//-->
</script>
這樣就把數(shù)組中含有字母'a'的元素全部放到數(shù)組前面啦,再經(jīng)過一些簡(jiǎn)單的處理,就可以輸出搜索結(jié)果了。
以上是我總結(jié)的三種在javascript中用sort()操作數(shù)組的方法,如果你有興趣,你會(huì)發(fā)現(xiàn)sort()還有好多妙用呢……
相關(guān)文章
layui2.0使用table+laypage實(shí)現(xiàn)真分頁(yè)
這篇文章主要為大家詳細(xì)介紹了layui2.0使用table+laypage實(shí)現(xiàn)真分頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07JavaScript實(shí)現(xiàn)彈出模態(tài)窗體并接受傳值的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)彈出模態(tài)窗體并接受傳值的方法,涉及JavaScript模態(tài)窗體的實(shí)現(xiàn)及基于URL的傳值操作技巧,需要的朋友可以參考下2016-02-02基于JS實(shí)現(xiàn)PHP的sprintf函數(shù)實(shí)例
這篇文章主要介紹了基于JS實(shí)現(xiàn)PHP的sprintf函數(shù)的方法,可實(shí)現(xiàn)JavaScript模擬PHPsprintf函數(shù)的輸出功能,涉及JavaScript字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-11-11Javascript連接多個(gè)數(shù)組不用concat來解決
這篇文章主要介紹了不用concat解決Javascript連接多個(gè)數(shù)組,需要的朋友可以參考下2014-03-03JS版獲取字符串真實(shí)長(zhǎng)度和取固定長(zhǎng)度的字符串函數(shù)
JS版獲取字符串真實(shí)長(zhǎng)度和取固定長(zhǎng)度的字符串函數(shù)...2007-04-04使用純前端JavaScript實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出方法過程詳解
這篇文章主要介紹了使用純前端JavaScript實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出方法過程詳解,文章通過示例代碼和圖文解析介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08JavaScript實(shí)現(xiàn)讀取與輸出XML文件數(shù)據(jù)的方法示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)讀取與輸出XML文件數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了JavaScript基于ActiveXObject實(shí)現(xiàn)載入、讀取與輸出xml文件數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2018-06-06