Math.max()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Math.max() 彿°è¿åä½ä¸ºè¾å
¥åæ°çæå¤§æ°åï¼å¦ææ²¡æåæ°ï¼åè¿å -Infinityã
å°è¯ä¸ä¸
console.log(Math.max(1, 3, 2));
// Expected output: 3
console.log(Math.max(-1, -3, -2));
// Expected output: -1
const array1 = [1, 3, 2];
console.log(Math.max(...array1));
// Expected output: 3
è¯æ³
Math.max()
Math.max(value0)
Math.max(value0, value1)
Math.max(value0, value1, /* ⦠,*/ valueN)
åæ°
value1,value2, ⦠,valueN-
0 个æå¤ä¸ªæ°åï¼å°å¨å ¶ä¸éæ©ï¼å¹¶è¿åæå¤§çå¼ã
è¿åå¼
ç»å®æ°å¼ä¸æå¤§çæ°ã妿任ä¸åæ°ä¸è½è½¬æ¢ä¸ºæ°å¼ï¼åè¿å NaNãå¦ææ²¡ææä¾åæ°ï¼è¿å -Infinityã
æè¿°
å 为 max() æ¯ Math çéææ¹æ³ï¼æä»¥ä½ åºå§ç»ä½¿ç¨ Math.max()ï¼è䏿¯ä½ä¸ºä½ å建ç Math å¯¹è±¡çæ¹æ³ï¼Math 䏿¯æé 彿°ï¼ã
Math.max.length æ¯ 2ï¼è¿ä»æç§ç¨åº¦ä¸è¡¨æäºå®æ¨å¨å¤çè³å°ä¸¤ä¸ªåæ°ã
示ä¾
>ä½¿ç¨ Math.max()
Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20
è·åæ°ç»çæå¤§å ç´
Array.prototype.reduce() å¯ä»¥ç¨æ¥æ¥æ¾æå¤§å¼å
ç´ ï¼éè¿æ¯è¾æ¯ä¸ªå¼ï¼
const arr = [1, 2, 3];
const max = arr.reduce((a, b) => Math.max(a, b), -Infinity);
ä¸é¢çæ¹æ³ä½¿ç¨ Function.prototype.apply() æ¥è·åæ°ç»çæå¤§å¼ãgetMaxOfArray([1, 2, 3]) ç¸å½äº Math.max(1, 2, 3)ï¼ä½æ¯ä½ å¯ä»¥ä½¿ç¨ getMaxOfArray() ä½ç¨äºä»»æé¿åº¦çæ°ç»ä¸ãè¿åºè¯¥åªç¨äºå
ç´ ç¸å¯¹è¾å°çæ°ç»ã
function getMaxOfArray(numArray) {
return Math.max.apply(null, numArray);
}
å±å¼è¯æ³æ¯ç¼å apply è§£å³æ¹æ¡çä¸ç§æ´ç®ççæ¹æ³ï¼å¯ä»¥æå¤§é度å°å©ç¨æ°ç»ï¼
const arr = [1, 2, 3];
const max = Math.max(...arr);
使¯ï¼å¦ææ°ç»æå¤ªå¤çå
ç´ ï¼å±å¼è¯æ³ï¼...ï¼å apply é½å°å¤±è´¥æè¿åé误çç»æï¼å 为å®ä»¬è¯å¾å°æ°ç»å
ç´ ä½ä¸ºå½æ°å½¢åä¼ éãåè§ä½¿ç¨ apply åå
ç½®å½æ°äºè§£æ´å¤ç»èãreduce è§£å³æ¹æ¡ä¸åå¨è¿ä¸ªé®é¢ã
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.max> |