陣列重排序方法

2022-07-17 10:54:09 字數 1064 閱讀 3496

reverse()和sort()方法的返回值是經過排序後的陣列。reverse()方法會反轉陣列項的順序:

var values=[1,2,3,4,5];

values.reverse();

alert(values);

//5,4,3,2,1

在預設情況下,sort()方法按公升序排列陣列,sort()方法會呼叫每個陣列項的tostring()轉型方法,然後比較得到字串,確定如何排序。即使陣列中的每一項都是數值,sort()方法比較的也是字串:

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

values.sort();

alert(values);

//0,1,10,15,5

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

function

compare(value1,value2)

else

if (value1 >value2)

else

}

此比較函式可適用於大多數資料型別,只要將其作為引數傳遞給sort()方法即可:

var values =  [0,1,3,7,9,15];

values.sort(compare);

alert(values);

//0,1,3,7,9,15

也可通過比較函式產生降序排序,只需交換函式返回值即可:

function

compare (value1, value2)

else

ifelse

}

sort()函式的排序條件是:
引數大於0,arr的相鄰兩個元素交換位置;

引數小於0,arr的相鄰兩個元素不交換位置;

引數等於0,arr的相鄰兩個元素大小相等;所以compare自定義函式必須返回乙個數值。

function

compare (value1,value2)

JavaScript 陣列的重排序方法

陣列中有兩個可以直接用來排序的方法 reverse 和sort reverse 方法 反轉陣列項的排列順序,即逆序排列之前的陣列。例1 使用reverse 方法排列陣列 var arr 12,2,31,4,55,38 alert arr.reverse 輸出結果為 38,55,4,31,2,12 s...

學習 檢測陣列 重排序方法

1.可以用type of 來檢測每個屬性是否存在 2.陣列的 length 屬性不是唯讀的 因此通過這個屬性 可以從陣列的末尾移除項或向陣列中新增新項 eg 移除 var colors red yellow grown colors.length 2 alert colors.length unde...

陣列去重排序

created methods 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列 arraydereordering result.push arraydata i console.log this.sortmethod result return this.s...