ホームページ  >  記事  >  ウェブフロントエンド  >  Math.max() はパラメータなしで何を返しますか?なぜ?

Math.max() はパラメータなしで何を返しますか?なぜ?

青灯夜游
青灯夜游転載
2021-06-02 10:34:091901ブラウズ

この記事では、パラメータなしで Math.max() が何を返すかを紹介します。なぜ?一定の参考値があるので、困っている友達が参考になれば幸いです。

Math.max() はパラメータなしで何を返しますか?なぜ?

Math.max() は、渡されたパラメータから最大のものを返すことができる JS 組み込みメソッドです。例:

Math.max(1, 2, 3); // => 3

Math.max() がパラメータを 1 つだけ使用する場合、結果はどうなりますか?

Math.max(1); // => 1

予想どおり、数値の最大値はそれ自体です。

しかし、Math.max() がパラメータなしで呼び出された場合、結果はどうなるでしょうか?

Math.max(); // => -Infinity

Math.max() パラメータを指定しないと、結果 -Infinity が返されます。次に、これが当てはまる理由を見てみましょう。

配列内の最大値

この問題について説明する前に、まず Math.max() が配列からどのように取得されるかを見てみましょう。最大値。

Math.max(num1, num2, ..., numN)複数の数値パラメータを受け入れ、その最大数を返します。

配列から最大値を取得したい場合は、スプレッド演算子を使用できます:

const numbers1 = [1, 2, 3];

Math.max(...numbers1); // => 3

2 つの配列の最大値

Now , 興味深いことを見てみましょう。2 つの配列が与えられた場合、まず各配列の最大値を決定し、次に 2 つの最大値を取得した後で最大値を決定します。

const numbers1 = [1, 2, 3];
const numbers2 = [0, 6];

const max1 = Math.max(...numbers1);
const max2 = Math.max(...numbers2);

max1; // 3
max2; // 6
Math.max(max1, max2); // => 6

Array[1, 2, 3] 最大値は 3、array[0, 6]最大値は 6、最後に最大値3 と 6 の値は 6 です。

何も問題はありません。続行しましょう。

配列が空の場合、結果はどうなりますか? 試してみましょう:

const numbers1 = [];
const numbers2 = [0, 6];

const max1 = Math.max(...numbers1);
const max2 = Math.max(...numbers2);

max1; // -Infinity
max2; // 6
Math.max(max1, max2); // => 6

さて、最初の配列が空の場合、上記の最大値も 6## #。

ここでさらに興味深いのは、

Math.max(...numbers1) の戻り値です。numbers1 配列が空の場合、これは呼び出しとは異なります。パラメータなしの場合、Math.max() は同じで、結果は -Infinity になります。

したがって、

Math.max(max1, max2) Math.max(-Infinity, 6) と同等であり、結果は 6 になります。

これで理由がわかりました

Math.max()引数なしで呼び出すと戻り値-Infinity:これは空のコレクションで定義されていますmaxの方法# ## 関数。 これは加算に似ており、max の

-Infinity

は加算の 0 と同じです。

Math.min()

も同じ動作をします。引数なしで呼び出すと、Infinity が返されます。 実数の最大演算に関して、

-Infinity

Identity 要素 この記事はここで、ここで課題があります。

Math.max()

と全く同じ関数 sum(num1, num2, ..., numN) を書けますか? その機能は、すべての値の合計を求めることです。要素、

Identity 要素

とは何ですか? 理解できない場合は、知識を追加するためにメッセージを残してください。

英語の元のアドレス: https://dmitripavlun.com/javscript-math-max-infinity/

著者: Dmitri Pavlutin

翻訳者: フロントエンドXiao Zhi

プログラミング関連の知識については、
プログラミング入門

をご覧ください。 !

以上がMath.max() はパラメータなしで何を返しますか?なぜ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。