欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript 數(shù)組中最大最小值

 更新時間:2016年06月05日 11:57:55   投稿:hebedich  
本文給大家匯總介紹的是獲取JavaScript 數(shù)組中最大最小值的方法和示例,非常的詳細(xì)和全面,希望對大家學(xué)習(xí)JavaScript能夠有所幫助

現(xiàn)在獲取數(shù)組中最大最小值用的越來越多了,于是乎我編了個方法供大家使用。代碼如下,若有問題可以與我聯(lián)系,咱們一起學(xué)習(xí)一起進(jìn)步。

我們來看下示例一:

var numReg = /^-?[0-9]+.?[0-9]*$/

Array.prototype.min = function() {
  return this.reduce(function(preValue, curValue,index,array) {
   if ( numReg.test(preValue) && numReg.test(curValue) ) {
      return preValue > curValue ? curValue : preValue;
   } else if ( numReg.test(preValue) ) {
   return preValue;
   } else if ( numReg.test(curValue) ) {
   return curValue;
   } else {
   return 0;
   }
  })
}

Array.prototype.max = function() {
  return this.reduce(function(preValue, curValue,index,array) {
   if ( numReg.test(preValue) && numReg.test(curValue) ) {
      return preValue < curValue ? curValue : preValue;
   } else if ( numReg.test(preValue) ) {
   return preValue;
   } else if ( numReg.test(curValue) ) {
   return curValue;
   } else {
   return 0;
   }
  })
}

示例二:

function getMaximin (arr,maximin) { 
 if (maximin == "max") { 
  return Math.max.apply(Math, arr); 
 }else if (maximin == "min") { 
  return Math.min.apply(Math, arr); 
 } 
} 
 
var a = [3,2,4,2,10] 
 
var b = [12,4,45,786,9,78] 
 
alert("aMax:" + getMaximin(a,"max") + "---aMin:" + getMaximin(a,"min") + "---bMax:" + getMaximin(b,"max") + "---bMin:" + getMaximin(b,"min"))//aMax:10---aMin:2---bMax:786---bMin:4 
 
function getMaximin (arr,maximin) {
 if (maximin == "max") {
  return Math.max.apply(Math, arr);
 }else if (maximin == "min") {
  return Math.min.apply(Math, arr);
 }
}
 
var a = [3,2,4,2,10]
 
var b = [12,4,45,786,9,78]
 
alert("aMax:" + getMaximin(a,"max") + "---aMin:" + getMaximin(a,"min") + "---bMax:" + getMaximin(b,"max") + "---bMin:" + getMaximin(b,"min"))//aMax:10---aMin:2---bMax:786---bMin:4

我們再來看2個方法

方法一:

//最小值
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;
}
//最大值
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;
}

如果你是引入類庫進(jìn)行開發(fā),害怕類庫也實(shí)現(xiàn)了同名的原型方法,可以在生成函數(shù)之前進(jìn)行重名判斷:

if (typeof Array.prototype['max'] == 'undefined') { 
Array.prototype.max = function() { 
... ...
}
}

方法二:

用Math.max和Math.min方法可以迅速得到結(jié)果。apply能讓一個方法指定調(diào)用對象與傳入?yún)?shù),并且傳入?yún)?shù)是以數(shù)組形式組織的。恰恰現(xiàn)在有一個方法叫Math.max,調(diào)用對象為Math,與多個參數(shù)

Array.max = function( array ){ 
return Math.max.apply( Math, array );
};

Array.min = function( array ){ 
return Math.min.apply( Math, array );
};

但是,John Resig是把它們做成Math對象的靜態(tài)方法,不能使用大神最愛用的鏈?zhǔn)秸{(diào)用了。但這方法還能更精簡一些,不要忘記,Math對象也是一個對象,我們用對象的字面量來寫,又可以省幾個比特了。

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

相關(guān)文章

  • 詳細(xì)談?wù)凟S6中的symbol數(shù)據(jù)類型

    詳細(xì)談?wù)凟S6中的symbol數(shù)據(jù)類型

    這篇文章主要給大家介紹了關(guān)于ES6中symbol數(shù)據(jù)類型的相關(guān)資料,Symbol函數(shù)的特性是每一個Symbol函數(shù)的返回值都是唯一的,可以通過給symbol函數(shù)傳遞不同的參數(shù)產(chǎn)生具有不同標(biāo)記的值,需要的朋友可以參考下
    2021-08-08
  • JS使用JSON作為參數(shù)實(shí)例分析

    JS使用JSON作為參數(shù)實(shí)例分析

    這篇文章主要介紹了JS使用JSON作為參數(shù),結(jié)合實(shí)例形式分析了ajax傳遞json數(shù)據(jù)及數(shù)據(jù)處理的相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • dateformat.js超輕量級的JS日期處理庫的使用

    dateformat.js超輕量級的JS日期處理庫的使用

    dateformat.js 是一個非常簡潔、輕量級、不到 5kb 的很簡潔的 Javascript 庫,本文主要介紹了dateformat.js超輕量級的JS日期處理庫的使用,感興趣的可以了解一下
    2023-12-12
  • js模擬支付寶密碼輸入框

    js模擬支付寶密碼輸入框

    這篇文章主要為大家詳細(xì)介紹了js模擬支付寶密碼輸入框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • javascript 中的繼承實(shí)例詳解

    javascript 中的繼承實(shí)例詳解

    這篇文章主要介紹了javascript 中的繼承實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • JavaScript刪除數(shù)組元素的方法指南

    JavaScript刪除數(shù)組元素的方法指南

    作為一名前端開發(fā)工程師,我們經(jīng)常需要在 JavaScript 中操作數(shù)組,其中比較常見的操作便是對數(shù)組進(jìn)行元素的添加、刪除和修改。在這篇文章中,我會詳細(xì)介紹JS中所有刪除數(shù)組元素的方法,希望對大家有所幫助
    2023-05-05
  • JS實(shí)現(xiàn)判斷對象是否為空對象的5種方法

    JS實(shí)現(xiàn)判斷對象是否為空對象的5種方法

    這篇文章主要介紹了JS實(shí)現(xiàn)判斷對象是否為空對象的5種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 面向?qū)ο罄^承實(shí)例(a如何繼承b問題)(自寫)

    面向?qū)ο罄^承實(shí)例(a如何繼承b問題)(自寫)

    經(jīng)常會看到a如何繼承b的問題;決定寫一下,其實(shí)繼承就是繼承父級的屬性和方法,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-07-07
  • JavaScript類型系統(tǒng)之基本數(shù)據(jù)類型與包裝類型

    JavaScript類型系統(tǒng)之基本數(shù)據(jù)類型與包裝類型

    javascript的數(shù)據(jù)類型可以分為兩種:原始類型和引用類型,在此文給大家提到。本文主要給大家介紹javascript類型系統(tǒng)之基本數(shù)據(jù)類型與包裝類型,涉及到j(luò)s 基本類型 包裝類相關(guān)知識,本文介紹的詳細(xì),具有參考借鑒價值,對本文感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • UI Events 用戶界面事件

    UI Events 用戶界面事件

    UI即User Interface(用戶界面)的簡稱。UI設(shè)計(jì)則是指對軟件的人機(jī)交互、操作邏輯、界面美觀的整體設(shè)計(jì)
    2012-06-06

最新評論