當想要每次呈現的資料都讓別人感覺不一樣時,可以利用sort將陣列打亂,
這樣顯示的資料順序就會變了,感覺好像是不同的資料。
var a = new Array("a", "b", "c", "d", "e"); function shuffle(a,b) { var num = Math.random() > 0.5 ? -1:1; return num; } var b = a.sort(shuffle); alert(b);
單獨使用sort,那就只是排序而以。
UPDATE:2008-11-06 發現一個更詳細的內容
JavaScript中實現數組的排序、亂序和搜索
作者:Hily 原始鏈接:http://hily.me/blog/2005/09/javascript-sort-shuffle-search/
版權聲明:可以轉載,轉載時務必以超鏈接形式標題文章原始出處和作者信息及版權聲明
所有這些功能,用一個sort()就可以完成了。
1. 排序:
默認的sort()按字符編碼排序的:
現在要讓它按照數值大小排序:
只要傳遞一個比較函數給sort就可以了,如果比較函數的值小於0,則表示a必須出現在b前面,否則在b後面。
2. 亂序:
讓比較函數隨機傳回-1或1就可以了:
3. 搜索:
用sort()來玩搜索還蠻新鮮的,呵呵,看看是怎麼玩的吧。
我現在要把數組裡含有字母'a'的元素全部找出來,如果沒有sort(),似乎只能用遍歷了,遍歷的效率…那個叫恐怖啊!!具體做法如下:
這樣就把數組中含有字母'a'的元素全部放到數組前面啦,再經過一些簡單的處理,就可以輸出搜索結果了。
0 comments:
張貼留言