jquery 陣列sort 排序

2021-10-01 17:25:13 字數 1471 閱讀 6867

排序前

var animals =

['dog'

,'cat'

,'tiger'

,'pig'

,'bird'];

排序後animals = animals.

sort()

;$('#show6').

html

(animals.

join('

'));

bird

catdog

pigtiger

排序前

var ar nums =

['12'

,'2'

,'5'

,'36'

,'4'];

排序後nums = nums.

sort()

;$('#show8').

html

(nums.

join('

'));

122364

5

很明顯,數值陣列最後的排序結果不是我們想要的。這是為什麼呢?

因為sort()方法排序,是基於ascii值進行排序的。故它會認為36小於4(因為3的ascii值小於4的ascii值)。所以要對排序的sort()方法定義乙個比較函式:

排序前

var nums =

['12'

,'2'

,'5'

,'36'

,'4'];

排序後//定義了sort的比較函式

nums = nums.

sort

(function

(a,b));

$('#show8').

html

(nums.

join('

'));

24512

36

sort(function(a,b))對傳入的一對值進行比較,然後返回的的值為:小於0,大於0,等於0;(大於0交換位置,反之則不)

如果對數值陣列的值進行降序排序。那麼只要把返回的值改為b-a

var arr =[22

,12,3

,43,56

,47,4

];arr.

sort()

;arr.

sort

(function

(m, n));

console.

log(arr)

;// [3, 4, 12, 22, 43, 47, 56]

const arr =[1

,30,4

,21,100000];

arr.

sort

(function

(a,b));

console.

log(arr)

;

jquery陣列 sort 排序

html 12 show5 34 show6 jquery var animals dog cat tiger pig bird show5 html animals.join animals animals.sort show6 html animals.join 顯示結果 字串陣列排序前 dog...

Jquery的排序方法sort

html 12 34 jquery var animals dog cat tiger pig bird show5 html animals.join animals animals.sort show6 html animals.join 顯示結果 字串陣列排序前 dogcat tiger pi...

js 陣列排序函式sort

arrayobj.sort sortfunction 引數 sortfunction 可選項。是用來確定元素順序的函式的名稱。如果這個引數被省略,那麼元素將按照 ascii 字元順序進行公升序排列。sort 方法將 array 物件進行適當的排序 在執行過程中並不會建立新的 array 物件。如果為...