成人免费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

最大值最小值算法

2021-05-09 22:41:43

Python數據統計

2010-09-26 16:12:57

SQL查詢

2010-11-24 11:52:15

MYSQL表字段最大值

2020-10-13 08:53:04

算法最小值

2022-09-26 12:17:14

clamp() 函數CSS

2010-10-12 14:27:57

mysql全文索引

2012-06-18 10:19:26

Oracle安全

2010-11-25 14:49:08

MySQL查詢最大值

2021-04-23 09:58:28

O(1)序列

2017-07-03 10:52:20

深度學習人工智能

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

閃存數據中心

2011-01-19 11:14:45

程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲一区二区三区四区 | 久久久久成人精品免费播放动漫 | 日本久久福利 | 欧美日韩精品中文字幕 | 国产9999精品 | 国产精品永久在线观看 | 亚洲精品乱码久久久久久按摩观 | 久久中文字幕一区 | 国产精品爱久久久久久久 | 国产在线拍偷自揄拍视频 | 国产性网| 亚洲国产成人精品女人久久久野战 | 国产欧美精品一区二区色综合朱莉 | 国产精品视频一二三区 | 精品国产乱码久久久 | 亚洲一区二区三区在线 | 亚洲精品久久久久avwww潮水 | 国产精品一二三区 | 亚洲欧美中文字幕 | 国产一区二区久久 | 美女张开腿露出尿口 | 在线黄av| www.亚洲精品| 成人av在线大片 | 一级二级三级在线观看 | 亚洲综合色视频在线观看 | 久久久久99 | 天天干在线播放 | 欧美国产日韩在线观看 | 日韩免费网站 | 国产精品一二三区在线观看 | 欧美激情久久久久久 | 日日夜夜天天 | 欧美jizzhd精品欧美巨大免费 | 亚洲精品久久久久久久久久吃药 | 青春草国产 | 亚洲在线 | 国产极品车模吞精高潮呻吟 | 国产精品一级 | 久久久久亚洲精品中文字幕 | 国产成人免费在线观看 |