ホームページ > 記事 > ウェブフロントエンド > js の apply 関数と Math.max() 関数の概要
この記事では、主に js の apply 関数と Math.max() 関数の問題について紹介します。記事の最後で、js の Math.max.apply と Math.max の違いについて説明しました。お役に立てば幸いです。あなた。
var arr=[1,3,6,3,7,9,2]; console.log(Math.max.apply(null,arr));
なぜこれで配列の最大値を計算できるのかまだわかりません。まだ理解できません。jsの専門家からアドバイスをお願いします。
回答 1
Function.apply() は JS の OOP 機能であり、上記のコードの場合、次のように理解できます。関数を呼び出すメソッドです。パラメータは次のとおりです: apply(Function, Args)、
Function は呼び出されるメソッド、Args はパラメータ リスト、Function が null の場合、デフォルトは上記です、
つまり、Math.max.apply(null, arr)
apply(Math.max, arr)
そして、arrはmaxメソッドのパラメータリストであり、パラメータはいくつかの数値です、つまり
Math.max(a, b, c, d, ...)
applyを使用するときは、すべてのパラメータを配列に追加します、つまり
arr = [a, b, c, d, ...]です。
は元の式に代入され、
Math.max.apply(null, [a, b, c, d, ...])
は実際には
Math.max(a, b, c, d, ...)
と同等です。 ここで、apply を使用する利点は、一部の JS エンジンでのパフォーマンスが向上することです。
回答 2 Math.max()
メソッドは、次のような複数のパラメーターの受け渡しをサポートしています。 Math.max(1,4,2,3,7,5 , 6)
ただし、次のような配列をパラメーターとして直接渡すことはサポートされていません: Math.max(new Array(1,4,2,3,7,5,6))。 <code>Math.max()
方法,支持传递多个参数,比如:Math.max(1,4,2,3,7,5,6)
但是它不支持直接传递一个数组作为参数,比如:Math.max(new Array(1,4,2,3,7,5,6))
JavaScriptのMath.max.applyとMath.maxの違い
JavaScriptのMath.maxメソッドは、指定されたパラメータの中で最大の数値を見つけることができます。 関連する推奨事項: > Math.max('1','2','3.1','3.2')
58a6c08b501e8b076936a6914b3b63ca Math.min(1,0,-1)
8040ce3e5b5e78a2356160906861f691 Math.max.apply(null, ['1','2','3.1','3.2'])
58a6c08b501e8b076936a6914b3b63ca Math.min.apply(null, [1,0,-1])
< -1
以上がjs の apply 関数と Math.max() 関数の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。