1. ホーム
  2. javascript

[解決済み] オブジェクトから最大値を持つキーを取得する

2022-10-29 08:57:48

質問

このようなオブジェクトがあります。

Object {a: 1, b: 2, undefined: 1} 

最大値の識別子を素早く引き出すにはどうしたらよいでしょうか(ここでは。 b を取り出すにはどうしたらよいでしょうか?配列に変換してソートしてみましたが、アルファベット順にソートされてしまい、うまくいきませんでした(3つの値のうち1つを取得するためにデータを行ったり来たりするのはやりすぎのように思えます)。

どのように解決するのですか?

例えば

var obj = {a: 1, b: 2, undefined: 1};

Object.keys(obj).reduce(function(a, b){ return obj[a] > obj[b] ? a : b });

ES6 :

var obj = {a: 1, b: 2, undefined: 1};

Object.keys(obj).reduce((a, b) => obj[a] > obj[b] ? a : b);