求js數(shù)組的最大值和最小值的四種方法
給定數(shù)組[54,65,43,21,12,34,45,58,97,24],求其最大值和最小值?
定義數(shù)組
var ary = [54,65,43,21,12,34,45,58,97,24];
1、字符串拼接法
利用toString和join把數(shù)組轉(zhuǎn)換為字符串,再和Math的max和min方法分別進行拼接,最后執(zhí)行eval方法
var maxN = eval("Math.max(" + ary.toString() + ")"); var minN = eval("Math.min(" + ary.toString() + ")");
或者
var maxN = eval("Math.max(" + ary.join() + ")"); var minN = eval("Math.min(" + ary.join() + ")");
2、排序法
先把數(shù)組從小到大排序,數(shù)組第一個即為最小值,最后一個即為最大值
ary.sort(function(a,b){return a-b;}); var minN = ary[0]; var maxN = ary[ary.length-1];
3、假設(shè)法
假設(shè)數(shù)組第一個為最大(或最小值),和后邊進行比較,若后邊的值比最大值大(或比最小值?。?,則替換最大值(或最小值)
var maxN = ary[0]; var minN = ary[0]; for(var i=1;i<ary.length;i++){ var cur = ary[i]; cur>maxN ? maxN=cur : null; cur<minN ? minN=cur : null; }
4、Math的max和min方法
使用apply方法使數(shù)組可以作為傳遞的參數(shù)
var maxN = Math.max.apply(null,ary); var minN = Math.min.apply(null,ary);
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
微信小程序Error:Fail?to?open?IDE問題的解決方法
今天學(xué)習(xí)小程序時無法通過HBuilderX運行微信小程序,查了相關(guān)資料后解決了,下面這篇文章主要給大家介紹了關(guān)于微信小程序Error:Fail?to?open?IDE問題的解決方法,需要的朋友可以參考下2023-04-04js addDqmForPP給標簽內(nèi)屬性值加上雙引號的函數(shù)
這篇文章主要介紹了js addDqmForPP給標簽內(nèi)屬性值加上雙引號的函數(shù),需要的朋友可以參考下2016-12-12微信小程序?qū)崿F(xiàn)橫向滾動導(dǎo)航欄效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)橫向滾動導(dǎo)航欄效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12教你如何使用firebug調(diào)試功能了解javascript閉包和this
這篇文章主要介紹了教你如何使用firebug調(diào)試功能了解javascript閉包和this,javascript的調(diào)試也是一個比較大的難點,很多基礎(chǔ)的東西都需要自己去摸索,這里將自己的經(jīng)驗分享給大家,希望對大家能夠有所幫助2015-03-03JavaScript toUpperCase()方法使用詳解
這篇文章主要為大家詳細介紹了JavaScript toUpperCase()方法的使用技巧,感興趣的小伙伴們可以參考一下2016-08-08