數(shù)組的sort排序

基本用法

var arr = [1,6,2,4,7,2]
arr.sort()
console.log(arr)    //[1, 2, 2, 4, 6, 7]  默認(rèn)是升序記住啦!
arr.reverse()
console.log(arr)   //[7, 6, 4, 2, 2, 1]   這個(gè)不是排序,這個(gè)是倒敘的文學(xué)意義的

準(zhǔn)備手動(dòng)實(shí)現(xiàn)排序:
var arr= [3,5,1,2,9,5]
 
function min(arr){
   var min = arr[0]
  var index = 0   //出錯(cuò)點(diǎn),我開(kāi)始覺(jué)得沒(méi)必要設(shè)置值,結(jié)果后面當(dāng)?shù)谝豁?xiàng)是最小值時(shí),出錯(cuò)了,undefined
  if(arr.length === 1) return
  for(var i =1;i<arr.length;i++){
   
    if(min >arr[i]){
      min = arr[i]
      index = i
    }
   
  }
  console.log(min,index,'haha')
  return index
}

function sortn(arr){
  var newarr = []
  var len = arr.length -1      //出錯(cuò)點(diǎn),后續(xù)數(shù)組變化了,但是循環(huán)的次數(shù)是不能變的
  for(var x=0;x<len;x++){
     var ind = min(arr)
     //console.log('r',ind)
     newarr.push(arr[ind])
     // console.log('r',ind)
     arr.splice(ind,1)
     console.log(arr,'ah',newarr)
  }
  newarr.push(arr[0]  )    //這里按說(shuō)很簡(jiǎn)單的操作的,不知道怎么了,newarr.concat(arr)  不行,
//后來(lái)知道是得到了新數(shù)組,要如此:arr= newarr.concat(arr)
  console.log(newarr)
  return arr = newarr
  
  
}
sortn(arr)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容