久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Javascript中Math.max和Math.max.apply的區(qū)別和用法詳解

瀏覽:177日期:2023-06-17 17:23:22

最近在做一個(gè)小案例的時(shí)候遇到了Math.max.apply這么一個(gè)用法,之前很少遇到過感覺挺有趣的,就記錄一下。

1Math.max

語法: Math.max(n1,n2,n3,...,nX)返回值:max() 方法可返回指定的參數(shù)中帶有較大的值的那個(gè)數(shù)

var a = Math.max(1,2,3,4);console.log(a); //4

但是如果數(shù)據(jù)是放在一個(gè)數(shù)組里面,此時(shí)就不能這樣調(diào)用了。這時(shí)就用到apply方法

2Math.max.apply

apply() 方法調(diào)用一個(gè)函數(shù)。簡單理解為調(diào)用函數(shù)的方式,但是它可以改變函數(shù)的 this 指向,同時(shí)用指定數(shù)組替換函數(shù)的參數(shù)。

語法:fun.apply(thisArg, [argsArray])

thisArg:在fun函數(shù)運(yùn)行時(shí)指定的 this 值 ,可以為null,就是不設(shè)置指向 argsArray:傳遞的值,必須包含在數(shù)組里面

這里額外補(bǔ)充一下,傳遞的值為數(shù)組形式,但是數(shù)組里是什么類型參數(shù),返回的也是什么類型,比如輸入的數(shù)組中是字符串這里取到的就是字符串,是數(shù)值取到的就是數(shù)值。比如傳‘a(chǎn)bc’ 返回的也是‘a(chǎn)bc’。(補(bǔ)充說明)

返回值:apply() 方法的返回值就是函數(shù)的返回值,因?yàn)樗褪钦{(diào)用函數(shù)

var arr = [1, 66, 3, 99, 4];var max = Math.max.apply(Math, arr);var min = Math.min.apply(Math, arr);console.log(max); //99console.log(min); //1

2.1Math.max.apply拓展案例

這里我再舉一個(gè)應(yīng)用案例———自動(dòng)生成編號(hào)(自增)說明:data為一個(gè)json數(shù)組,里面的每個(gè)對(duì)象都一個(gè)id值

let maxBookCode = ()=>{ let arr = []; //遍歷json數(shù)組,把所有對(duì)象的id存到arr這個(gè)空數(shù)組當(dāng)中 data.forEach((item)=>{ arr.push(item.id); }); //最后返回里面id值最大的那個(gè)數(shù)return Math.max.apply(null,arr);}

外部調(diào)用 maxBookCode() + 1 就能自動(dòng)生成編號(hào)并且是自增的。

總結(jié)

到此這篇關(guān)于Javascript中Math.max和Math.max.apply的區(qū)別和用法的文章就介紹到這了,更多相關(guān)Javascript中Math.max和Math.max.apply的區(qū)別和用法內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 大厂| 隆回县| 惠东县| 闽清县| 闻喜县| 新野县| 昭平县| 通渭县| 东乡族自治县| 休宁县| 三原县| 罗平县| 黄陵县| 扶风县| 桃江县| 新丰县| 剑阁县| 鄱阳县| 临洮县| 凤城市| 灯塔市| 明溪县| 清丰县| 崇文区| 灵璧县| 六枝特区| 弋阳县| 芜湖市| 伊川县| 武定县| 新闻| 沙河市| 北辰区| 广安市| 高唐县| 泰兴市| 喀喇沁旗| 方山县| 黄浦区| 临泉县| 桂平市|