[JavaScript]Objectの連想配列の最大値を取得するには?

JavaScript

どうも、ちょげ(@chogetarou)です。

Objectの連想配列の最大値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Objectの連想配列の最大値を取得する方法は、2つあります。

スプレッド構文

1つは、スプレッド構文を使う方法です。

まず、Math.max()を呼び出します。

Math.max()の引数で、スプレッド構文を使ってObject.values()を展開します。

Object.values()の引数には、連想配列を指定します。

const max = Math.max(...Object.values(array));

上記のMath.max()は、Object.values()の引数に指定した連想配列の最大値を取得します。

使用例

const numbers = { "one": 1, "two": 2, "three": 3, "ten": 10, "four": 4, "five": 5 };

const max = Math.max(...Object.values(numbers));

console.log(max);
出力:
10

reduce()

もう1つは、reduce()を使う方法です。

まず、Object.values()を呼び出します。

Object.values()の引数にObjectの連想配列を指定します。

そして、Object.values()からreduce()を呼び出します。

reduce()の引数に、三項演算子を使って2つの引数で大きい方を返すラムダ式を指定します。

const max = Object.values(array).reduce((x,y) => x > y ? x : y);

上記のreduce()は、Object.values()の引数に指定した連想配列の最大値を取得します。

使用例

const numbers = { "one": 1, "two": 2, "three": 3, "ten": 10, "four": 4, "five": 5 };

const max = Object.values(numbers).reduce((x,y) => x > y ? x : y);

console.log(max);
出力:
10
スポンサーリンク

まとめ

Objectの連想配列の最大値を取得する方法は、次の2つです。

  • スプレッド構文を使う方法
    const max = Math.max(...Object.values(array));
  • reduce()を使う方法
    const max = Object.values(array).reduce((x,y) => x > y ? x : y);

コメント

タイトルとURLをコピーしました