sort 的多種用法

2022-04-05 14:11:54 字數 1325 閱讀 5855

sort()  方法用於對陣列的元素進行排序。

一、預設情況

在預設情況下, sort() 方法按公升序排列陣列項。為了實現排序, sort() 方法會呼叫每個陣列項的 tostring() 轉型方法,然後比較得到的字串,已確定如何排序。如下:

1

2values.sort();

3 console.log(values);//結果

但是,即使陣列中的每一項都是數值,sort() 方法比較的也是字串,如下:

1

var values = [0,1,5,10,15];

2values.sort();

3 console.log(values);//

結果[0, 1, 10, 15, 5]

二、對數值進行排序

sort() 方法可以接收乙個比較函式作為引數。

比較函式接收兩個引數,如果第乙個引數應該位於第二引數之前則返回乙個負數,如果兩個引數相等則返回0,如果第乙個引數位於第二個之後則返回乙個正數。

1

function

compare(a, b)//按公升序排列的比較函式

4var values = [0,1,5,10,15];

5values.sort(compare);

6 console.log(values);//

結果[0, 1, 5, 10, 15]

三、根據某個物件屬性對陣列進行排序

先定義乙個函式,它接收乙個屬性名,然後根據這個屬性名來建立乙個比較函式。下面是這個函式的定義:

1

function

createcomparisonfunction(propertyname)else

if(a >b)else13}

14 }//

返回乙個根據屬性名建立的按公升序排列的比較函式

在內部函式接收到propertyname引數後,它會使用方括號表示法來取得給定屬性的值。

上面這個函式可以在像在下面例子中這樣使用。

1

var 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 判...