久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放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. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JavaScript如何求最大值

      方法:1、使用“Math.max()”函數(shù)求最大值,可返回兩個指定的數(shù)中帶有較大的值的那個數(shù);2、使用遞歸函數(shù)求最大值;3、使用for循環(huán)遍歷求最大值;4、使用“Math.max.apply(null,[值,值,值,值..)”語句求最大值。

      JavaScript如何求最大值

      本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

      第一種方法

      Math.max

      JavaScript 提供了 Math.max 函數(shù)返回一組數(shù)中的最大值,用法是:

      Math.max([value1[,value2, ...]])

      值得注意的是:

      • 如果有任一參數(shù)不能被轉(zhuǎn)換為數(shù)值,則結(jié)果為 NaN。

      • max 是 Math 的靜態(tài)方法,所以應(yīng)該像這樣使用:Math.max(),而不是作為 Math 實例的方法 (簡單的來說,就是不使用 new )

      • 如果沒有參數(shù),則結(jié)果為 -Infinity (注意是負(fù)無窮大)

      而我們需要分析的是:

      1.如果任一參數(shù)不能被轉(zhuǎn)換為數(shù)值,這就意味著如果參數(shù)可以被轉(zhuǎn)換成數(shù)字,就是可以進(jìn)行比較的,比如:

      Math.max(true, 0) // 1 Math.max(true, '2', null) // 2 Math.max(1, undefined) // NaN Math.max(1, {}) // NaN

      2.如果沒有參數(shù),則結(jié)果為 -Infinity,對應(yīng)的,Math.min 函數(shù),如果沒有參數(shù),則結(jié)果為 Infinity,所以:

      var min = Math.min(); var max = Math.max(); console.log(min > max);

      了解了 Math.max 方法,我們以求數(shù)組最大值的為例,思考有哪些方法可以實現(xiàn)這個需求。

      原始方法

      最最原始的方法,莫過于循環(huán)遍歷一遍:

      var arr = [6, 4, 1, 8, 2, 11, 23];  var result = arr[0]; for (var i = 1; i < arr.length; i++) {     result =  Math.max(result, arr[i]); } console.log(result);

      reduce
      既然是通過遍歷數(shù)組求出一個最終值,那么我們就可以使用 reduce 方法:

      var arr = [6, 4, 1, 8, 2, 11, 23];  function max(prev, next) {     return Math.max(prev, next); } console.log(arr.reduce(max));

      apply

      使用 apply 是另一種。

      var arr = [6, 4, 1, 8, 2, 11, 23]; console.log(Math.max.apply(null, arr))

      ES6 …

      使用 ES6 的擴(kuò)展運(yùn)算符:

      var arr = [6, 4, 1, 8, 2, 11, 23]; console.log(Math.max(...arr))

      第二種方法

      使用遞歸函數(shù)

      var arr = [9,8,55,66,49,68,109,55,33,6,2,1]; var max = arr[0]; function findMax( i ){   if( i == arr.length ) return max;   if( max < arr[i] ) max = arr[i];   findMax(i+1); }   findMax(1); console.log(max);

      使用 for 循環(huán)遍歷

      var arr = [9,8,55,66,49,68,109,55,33,6,2,1];   var max = arr[0]; for(var i = 1; i < arr.length; i++){   if( max < arr[i] ){     max = arr[i];   } }   console.log(max);

      使用apply將數(shù)組傳入max方法中直接返回

      Math.max.apply(null,[9,8,55,66,49,68,109,55,33,6,2,1])

      除此之外,還有很多數(shù)組排序方式,都可以在排序后,根據(jù)新數(shù)組索引值獲取 最大/最小 值。

      var a=[1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a));//最小值

      多維數(shù)組可以這么修改:

      var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//轉(zhuǎn)化為一維數(shù)組 console.log(Math.max.apply(null,ta));//最大值 console.log(Math.min.apply(null,ta));//最小值

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