免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
JS對(duì)數(shù)組取最大值與最小值的方法


如何為數(shù)組取最大值與最小值。最笨的方法估計(jì)是這樣:

Array.prototype.max = function() {  
 var max = this[0];
 var len = this.length; 
 for (var i = 1; i < len; i++){   
  if (this[i] > max) {      
   max = this[i];   
  } 
 }   
 return max;
}
Array.prototype.min = function() {
 var min = this[0];
 var len = this.length;
 for (var i = 1; i < len; i++){ 
  if (this[i] < min){     
   min = this[i];   
  }  
 }   
 return min;
}
如果你是引入類庫(kù)進(jìn)行工作,害怕類庫(kù)也實(shí)現(xiàn)了同名的原型方法,我們可以在生成之前進(jìn)行判斷:
if (typeof Array.prototype['max'] == 'undefined') { 
 Array.prototype.max = function() {    
  //************略*************
 }
}
但這兩個(gè)擴(kuò)展實(shí)現(xiàn)得的確不怎么樣?!有什么原生的方法可以給我們用一用呢?John Resig巧妙地利用apply方法來(lái)調(diào)用原生的Math.max與Math.min方法迅速求得結(jié)果。apply能讓一個(gè)方法指定調(diào)用對(duì)象與傳入?yún)?shù),并且傳入?yún)?shù)是以數(shù)組形式組織的。恰恰現(xiàn)在有一個(gè)方法叫Math.max,調(diào)用對(duì)象為Math,與多個(gè)參數(shù)。

Array.max = function( array ){   
 return Math.max.apply( Math, array );
};
 
Array.min = function( array ){    
 return Math.min.apply( Math, array );
};
不過,John Resig是把它們做成Math對(duì)象的靜態(tài)方法,不能使用大神最愛用的鏈?zhǔn)秸{(diào)用了。但這方法還能更精簡(jiǎn)一些,不要忘記,Math對(duì)象也是一個(gè)對(duì)象,我們用對(duì)象的字面量來(lái)寫,又可以省幾個(gè)比特了。

Array.prototype.max = function(){  
 return Math.max.apply({},this)
}
Array.prototype.min = function(){  
 return Math.min.apply({},this)
}
[1,2,3].max()// => 3
[1,2,3].min()// => 1

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JS中數(shù)組實(shí)現(xiàn)(倒序遍歷數(shù)組,數(shù)組連接字符串)
JScript Array對(duì)象的幾個(gè)原型方法
js中如何快速獲取數(shù)組中的最大值最小值
prototype屬性
45個(gè)實(shí)用的JavaScript技巧、竅門和最佳實(shí)踐 | Sina App Engine Blog
求數(shù)組里面的最大值和最小值
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服