中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript中Math.max和Math.max.apply的區別和用法詳解

發布時間:2020-08-30 13:01:17 來源:腳本之家 閱讀:195 作者:Mingo-233 欄目:開發技術

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

1Math.max

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

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

但是如果數據是放在一個數組里面,此時就不能這樣調用了。這時就用到apply方法

2Math.max.apply

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

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

  • thisArg:在fun函數運行時指定的 this 值 ,可以為null,就是不設置指向
  • argsArray:傳遞的值,必須包含在數組里面

這里額外補充一下,傳遞的值為數組形式,但是數組里是什么類型參數,返回的也是什么類型,比如輸入的數組中是字符串這里取到的就是字符串,是數值取到的就是數值。比如傳‘abc' 返回的也是‘abc'。(補充說明)

返回值:apply() 方法的返回值就是函數的返回值,因為它就是調用函數

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

2.1Math.max.apply拓展案例

這里我再舉一個應用案例———自動生成編號(自增)
說明:data為一個json數組,里面的每個對象都一個id值

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

外部調用 maxBookCode() + 1 就能自動生成編號并且是自增的。

總結

到此這篇關于Javascript中Math.max和Math.max.apply的區別和用法的文章就介紹到這了,更多相關Javascript中Math.max和Math.max.apply的區別和用法內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清新县| 司法| 洛南县| 调兵山市| 惠水县| 屏南县| 胶南市| 宜黄县| 开原市| 丁青县| 辽阳市| 伊川县| 玛纳斯县| 余姚市| 梅州市| 涞水县| 安溪县| 苍溪县| 资讯| 宝清县| 鄂伦春自治旗| 丹巴县| 哈巴河县| 祁连县| 贞丰县| 丰顺县| 黎川县| 昌图县| 哈密市| 祁阳县| 图们市| 延寿县| 华阴市| 同江市| 贵南县| 南城县| 吴桥县| 昌邑市| 通榆县| 盈江县| 北京市|