sort() 方法用於對陣列的元素進行排序。
一、預設情況
在預設情況下, sort() 方法按公升序排列陣列項。為了實現排序, sort() 方法會呼叫每個陣列項的 tostring() 轉型方法,然後比較得到的字串,已確定如何排序。如下:
12values.sort();
3 console.log(values);//結果
但是,即使陣列中的每一項都是數值,sort() 方法比較的也是字串,如下:
1var values = [0,1,5,10,15];
2values.sort();
3 console.log(values);//
結果[0, 1, 10, 15, 5]
二、對數值進行排序
sort() 方法可以接收乙個比較函式作為引數。
比較函式接收兩個引數,如果第乙個引數應該位於第二引數之前則返回乙個負數,如果兩個引數相等則返回0,如果第乙個引數位於第二個之後則返回乙個正數。
1function
compare(a, b)//按公升序排列的比較函式
4var values = [0,1,5,10,15];
5values.sort(compare);
6 console.log(values);//
結果[0, 1, 5, 10, 15]
三、根據某個物件屬性對陣列進行排序
先定義乙個函式,它接收乙個屬性名,然後根據這個屬性名來建立乙個比較函式。下面是這個函式的定義:
1function
createcomparisonfunction(propertyname)else
if(a >b)else13}
14 }//
返回乙個根據屬性名建立的按公升序排列的比較函式
在內部函式接收到propertyname引數後,它會使用方括號表示法來取得給定屬性的值。
上面這個函式可以在像在下面例子中這樣使用。
1var data = [, ];
2 data.sort(createcomparisonfunction("name"));
3 console.log(data[0].name);//
judy
45 data.sort(createcomparisonfunction("age"));
6 console.log(data[0].name);//
lily
筆記 sort的用法
從別人 來的 是http bbs.ecust.edu.cn archiver tid 14302.html 因為在學,怕忘了,算作是筆記吧 sort的用法 按照給定的方案給區間中的元素排序。載入標頭檔案 include 函式原型 template void sort randomaccessiter...
sort函式的用法
sort函式的用法 做acm題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl裡面有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或...
sort的高深用法
1 sort sort 對給定區間所有元素進行排序 stable sort 對給定區間所有元素進行穩定排序 partial sort 對給定區間所有元素部分排序 partial sort copy 對給定區間複製並排序 nth element 找出給定區間的某個位置對應的元素 is sorted 判...