jquery數組(排序)


sort();

html:

<h3>字符串數組排序前</h3> <div id="show1"></div> <h3>排序后</h3> <div id="show2"></div>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

js:

$(function(){ var mm = ['dog','cat','tiger','pig','bird']; $('#show1').html(mm.join("<br>")); mm = mm.sort(); $('#show2').html(mm.join("<br>")); });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

結果:

字符串數組排序前

dog
cat tiger pig bird 排序后 bird cat dog pig tiger
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

js換成數字:

var nums = ['12','2','5','36','4']; $('#show1').html(nums.join('<br/>')); nums = nums.sort(); $('#show2').html(nums.join('<br/>'));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

結果:

字符串數組排序前

12
2
5
36
4

排序后

12
2
36
4
5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

這個不是理想的結果,解決:

var nums = ['12','2','5','36','4']; $('#show1').html(nums.join('<br/>')); nums = nums.sort(function(a,b){ return a-b; }); $('#show2').html(nums.join('<br/>'));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

結果:

字符串數組排序前

12
2
5
36
4

排序后

2
4
5
12
36
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

知識點:

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

  • 當小於0時,說明b>a,故b的排序靠后(即不變).

  • 當大於0時,說明a>b,故a的排序靠后.

  • 當等於0時,說明a=b,故不改變排序.

如果對數值數組的值進行降序排序。那么只要把返回的值改為b-a!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM