久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      在之前的文章中我們介紹了幾種檢測(cè)數(shù)組元素是否全部符合指定條件的方法,感興趣的可以點(diǎn)擊鏈接進(jìn)行查閱→《JS數(shù)組學(xué)習(xí)之判斷數(shù)組元素是不是都滿(mǎn)足給定條件》。這次我們來(lái)聊聊數(shù)組排序,介紹一下在JavaScript中如何對(duì)數(shù)組元素進(jìn)行排序的方法。

      今天本文的主要內(nèi)容是:對(duì)數(shù)組元素按照一定規(guī)則進(jìn)行排序。廢話不多說(shuō),下面就給大家就是3種數(shù)組元素排序方法。

      方法1:利用for循環(huán)

      說(shuō)到利用for循環(huán)進(jìn)行數(shù)組排序,就想到了冒泡排序,下面看看實(shí)現(xiàn)代碼:

      //每輪依次比較相鄰兩個(gè)數(shù)的大小,后面比前面小則交換 var b=0//設(shè)置用來(lái)調(diào)換位置的值 var a=[1,9,33,2,5,34,23,98,14]//冒泡排序 for(var i=0;i<a.length;i++){ 	for(var j=0;j<a.length;j++){ 		if(a[j]>a[j+1]){ 			b=a[j] 			a[j]=a[j+1] 			a[j+1]=b 		} 	} } console.log(a)

      輸出結(jié)果:

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      上面代碼是從小到大排序,如果想要從大到小排序,可以將if語(yǔ)句的判斷添加修改一下:

      if(a[j]>a[j+1]){ ... }

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      方法2:利用sort() 方法

      sort() 方法能夠根據(jù)一定條件對(duì)數(shù)組元素進(jìn)行排序。

      語(yǔ)法:array.sort([函數(shù)])

      sort() 方法兩種情況:

      • 當(dāng)方法的參數(shù)為空時(shí),則按字母順序?qū)?shù)組中的元素進(jìn)行從小到大排序。

      所謂的字母順序,實(shí)際上是根據(jù)字母在字符編碼表中的順序進(jìn)行排列的,每個(gè)字符在字符表中都有一個(gè)唯一的編號(hào)。

      var a=['e','a','f','b','c','h','g','z','i'] a.sort();  //按字母順序?qū)υ剡M(jìn)行排序 console.log(a);

      輸出結(jié)果:

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      如果元素不是字符串,則 sort() 方法試圖把數(shù)組元素都轉(zhuǎn)換成字符串,以便進(jìn)行比較。需要注意當(dāng)數(shù)字是按字母順序排列時(shí)"40"將排在"5"前面。

      var a=[1,2,40,4,5,50,6,7,8] a.sort();  //按字母順序?qū)υ剡M(jìn)行排序 console.log(a);

      輸出結(jié)果:

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      此時(shí)就需要通過(guò)一個(gè)函數(shù)作為參數(shù)來(lái)調(diào)用,即下面的第二種情況:

      • 當(dāng)參數(shù)為一個(gè)函數(shù)時(shí),將按函數(shù)指定的規(guī)則排序數(shù)組元素。

      var a=[1,2,40,4,5,50,6,7,8] a.sort(function(a,b){      return a-b;//從小到大排序      //return b-a;//從大到小排序 }); console.log(a);

      輸出結(jié)果:

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      當(dāng)數(shù)組元素的前綴為數(shù)字而后綴為字符串時(shí),如果希望這些元素能按數(shù)字大小進(jìn)行排序,此時(shí)需對(duì)匿名函數(shù)中的參數(shù)作一些變通處理。

      var a=['345px','23px','10px','1000px']; a.sort(function(a,b){      return parseInt(a)-parseInt(b);;//從小到大排序      //return parseInt(b)-parseInt(a);//從大到小排序 }); console.log(a);

      輸出結(jié)果:

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      方法3:利用reverse() 方法

      如何不想將數(shù)組元素從小到大(或從大到?。┻M(jìn)行排序,而是想倒序排序呢?那么可以使用reverse() 方法。

      reverse() 方法能夠顛倒數(shù)組元素的排列順序,該方法不需要參數(shù),直接 數(shù)組對(duì)象.reverse()即可。

      var a=['345px','23px','10px','1000px']; a.reverse(); console.log(a);

      輸出結(jié)果:

      JS中怎么按照一定規(guī)則對(duì)數(shù)組元素進(jìn)行排序

      說(shuō)明:

      sort()和reverse() 方法都是在原數(shù)組基礎(chǔ)上進(jìn)行操作,而不是創(chuàng)建新的數(shù)組;因此會(huì)改變?cè)瓟?shù)組。

      好了,就說(shuō)到這里了,有需要的可以看:javascript視頻教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)