成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何讓數組取最大值與最小值的方法討論

開發 后端
這里將介紹數組取最大值與最小值的方法,希望本文能對大家操作數組,有所幫助。

在一個數組中,如何取最大值與最小值有很多種方法,這里我們將從最笨的方法講起,然后講述改進后的方法。

原型是個好東西,通常除了Object的原型不應該擴展,向原型添加新方法是很好的選擇。

我們看一下如何為數組取最大值與最小值。最笨的方法估計是這樣:

01.Array.prototype.max = function() {
02.  var max = this[0];
03.  var len = this.length;
04.  for (var i = 1; i < len; i++){
05.    if (this[i] > max) {
06.      max = this[i];
07.    }
08.  
09.  return max;
10.}
11.Array.prototype.min = function() {
12.  var min = this[0];
13.  var len = this.length;
14.  for (var i = 1; i < len; i++){
15.    if (this[i] < min){
16.      min = this[i];
17.    
18.  
19.  return min;
20.}

如果你是引入類庫進行工作,害怕類庫也實現了同名的原型方法,我們可以在生成之前進行判斷:

1.if (typeof Array.prototype['max'] == 'undefined') {
2.  Array.prototype.max = function() {
3.    //************略*************
4.  }
5.}

但這兩個擴展實現得的確不怎么樣?!有什么原生的方法可以給我們用一用呢?John Resig巧妙地利用apply方法來調用原生的Math.max與Math.min方法迅速求得結果。apply能讓一個方法指定調用對象與傳入參數,并且傳入參數是以數組形式組織的。恰恰現在有一個方法叫Math.max,調用對象為Math,與多個參數。

1.Array.max = function( array ){
2.    return Math.max.apply( Math, array );
3.};
4.  
5.Array.min = function( array ){
6.    return Math.min.apply( Math, array );
7.};

不過,John Resig是把它們做成Math對象的靜態方法,不能使用大神最愛用的鏈式調用了。但這方法還能更精簡一些,不要忘記,Math對象也是一個對象,我們用對象的字面量來寫,又可以省幾個比特了。

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

【編輯推薦】

  1. C#數組操作的體會淺談
  2. 全面介紹C#指針操作
  3. C#數組初始化的應用實例解析
  4. C#指針使用簡析
  5. 淺談C#數組工作方式
責任編輯:彭凡 來源: 博客園
相關推薦

2010-09-26 15:56:59

SQL查詢

2010-11-24 16:42:40

mysql命令行求最小

2019-01-08 15:11:50

最大值最小值算法

2010-09-26 16:12:57

SQL查詢

2021-05-09 22:41:43

Python數據統計

2010-11-24 11:52:15

MYSQL表字段最大值

2020-10-13 08:53:04

算法最小值

2010-10-12 14:27:57

mysql全文索引

2022-09-26 12:17:14

clamp() 函數CSS

2012-06-18 10:19:26

Oracle安全

2010-11-25 14:49:08

MySQL查詢最大值

2017-07-03 10:52:20

深度學習人工智能

2021-04-23 09:58:28

O(1)序列

2010-05-27 14:27:30

MySQL全文索引

2021-04-29 10:01:30

JavaMathJava編程

2016-09-21 21:22:11

Javascript前端數學

2024-04-18 08:51:10

原碼反碼補碼

2022-12-28 08:16:16

metric聚合java

2015-07-13 13:12:51

閃存數據中心

2017-09-22 11:01:00

Oracle數據庫中直方圖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品视频 | 国产精品久久久久无码av | 国产精品久久国产精品99 | 亚洲国产激情 | 日韩一区二区免费视频 | 久国产视频 | 国产成人99| www.欧美| 免费在线性爱视频 | 国产精品成人一区二区 | 久久av网站 | 欧美一级在线免费 | 自拍偷拍亚洲欧美 | 在线亚洲欧美 | 亚洲一二三区免费 | 欧美日韩精品一区二区天天拍 | 精品一区在线 | 91精品国产91久久综合桃花 | 一区二区三区视频 | 中文字幕精品一区久久久久 | 精品一区在线免费观看 | 日本中文在线视频 | 精品欧美一区二区三区久久久 | 国产成人综合在线 | 亚洲精品国产成人 | 日韩免费av网站 | 国产成人jvid在线播放 | 毛片一级片 | 日本精品在线观看 | 天堂一区二区三区四区 | 国产免费看| 99国产精品久久久久久久 | 日日夜夜影院 | 91夜色在线观看 | 国产韩国精品一区二区三区 | 亚洲色图在线观看 | 婷婷开心激情综合五月天 | 久久高清 | 欧区一欧区二欧区三免费 | 国产亚洲网站 | 国产欧美日韩精品一区 |