首頁 > web前端 > js教程 > 主體

code war的實例教學

零下一度
發布: 2017-06-23 09:35:33
原創
1313 人瀏覽過

今天又接著來繼續做一道有關陣列的題:

#這裡有一個困難是,數字排序裡有負數。使用sort進行排序也會報錯。

所以,幾經思考和測試後,我的答案如下:

function highAndLow(numbers){  var numArr=[],numArr1=[],numArr2=[];
  numbers.split(' ').map(function(n){      if(n>=0){
          numArr2.push(n);
      }else{
          numArr1.push(n);
      }
  });
  numArr1.sort((a,b)=>b-a);
  numArr2.sort((a,b)=>b-a);
  numArr = numArr2.concat(numArr1);
  numArr.splice(1,numArr.length-2);  return numArr.join(' ')
}
登入後複製

先將正負數分為兩組,再分別進行排序,最後合併數組,取數組的第一位和最後一位即可。

方法有點笨。哈哈哈,我就是那隻笨鳥了。

最後去查看別人寫的程式碼:

實踐最強的是

function highAndLow(numbers){
  numbers = numbers.split(' ').map(Number);  return Math.max.apply(0, numbers) + ' ' + Math.min.apply(0, numbers);
}
登入後複製

#直接運用了Math的max和min方法(我怎麼就沒想到呢?

##
function highAndLow(numbers){  var arr = numbers.split(' ').sort(function(a, b) { return a - b });  return arr[arr.length -1] + ' ' + arr[0];
}
登入後複製

因為沒把numbers轉換成數組,導致錯誤(低階錯誤)
 

以上是code war的實例教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板