js学习总结----获取数组最大值
生活随笔
收集整理的這篇文章主要介紹了
js学习总结----获取数组最大值
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一共四個(gè)方法,面試的時(shí)候可以考慮:
var ary = [12,23,34,24,35,14,25,36]//1、排序法:從小到大排序,然后選擇最后一個(gè)為最大ary.sort(function(a,b){return a-b;})var min = ary[0];var max = ary[ary.length - 1];console.log(min,max)/*2、假設(shè)法:假設(shè)當(dāng)前數(shù)組中的第一個(gè)值是最大值,然后拿這個(gè)值和后面的項(xiàng)逐一進(jìn)行比較,如果后面某一項(xiàng)比假設(shè)的還要大,說明假設(shè)錯(cuò)了,我們把假設(shè)的值進(jìn)行替換和自定義屬性一樣,都是JS中最常用的編程思想*/var max = ary[0];for(var i = 0;i<ary.length;i++){var cur = ary[i];cur>max?max = cur:null;}//3、使用Math中的max/min方法實(shí)現(xiàn),以下代碼實(shí)現(xiàn)不了console.log(Math.min(12,23,34,24,35,14,25,36));//它是在執(zhí)行的時(shí)候,把需要比較的那堆數(shù)一個(gè)個(gè)的傳遞進(jìn)來,這樣才可以得到最后的結(jié)果,一下放一個(gè)ary數(shù)組進(jìn)來是不可以的//第一次嘗試Math.min([12,23,34,24,35,14,25,36])//join/toString ->"12,23,34,24,35,14,25,36"//eval:把一個(gè)字符串變?yōu)镴S表達(dá)式執(zhí)行//eval("12,23,34,24,35,14,25,36") 結(jié)果只會(huì)是最后一項(xiàng) 這里就涉及一個(gè)括號(hào)表達(dá)式的概念//第二次嘗試"Math.max("+ary.toString()+")"//'Math.max(12,23,34,24,35,14,25,36)' 首先不要管其他的,先把我們最后要執(zhí)行的代碼都變成字符串,然后把數(shù)組中的每一項(xiàng)的值分別的拼接到這個(gè)字符串中var max = eval("Math.max("+ary.toString()+")")// 這個(gè)才是正解function fn1(){console.log(1)}function fn2(){console.log(2)}var obj = {name:'李四',fn:fn2};(fn1,fn2)();//只有fn2執(zhí)行了->(x1,x2,x3...)括號(hào)表達(dá)式,一個(gè)括號(hào)中出現(xiàn)多項(xiàng)內(nèi)容,中間用","隔開,但是我們最后獲取到的結(jié)果只有最后一項(xiàng)(fn2,obj.fn)();//執(zhí)行的是obj.fn,但是執(zhí)行的時(shí)候最后的this是window而不是obj(obj.fn)()// this 還是obj//apply方法var max = Math.max.apply(null,ary);?
轉(zhuǎn)載于:https://www.cnblogs.com/diasa-fly/p/7093370.html
總結(jié)
以上是生活随笔為你收集整理的js学习总结----获取数组最大值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 使用AIDL实现进程间的
- 下一篇: 启动VIP报CRS-1028/CRS-0