在javascript中获取键值对中的最大键

Ari*_*ian 4 javascript

请考虑此键值对:

var dict_Numbers = {"96": "0",
                    "97": "1",
                    "98": "2",
                    "99": "1",
                    "100": "4",
                    "101": "0"}
Run Code Online (Sandbox Code Playgroud)

我希望获得最高价值,在这个例子中是:101.

我怎么能这样做?

谢谢


更新1:

我使用这段代码:快速获取对象属性中的最小/最大值获取对象最高值的键

但两者都返回Max Value或comapre值

sin*_*ake 10

MDN的好例子:

var dict_Numbers = {"96": "0",
                    "97": "1",
                    "98": "2",
                    "99": "3",
                    "100": "4",
                    "101": "5"}
                    
                    
function getMax(obj) {
  return Math.max.apply(null,Object.keys(obj));
}
console.log(getMax(dict_Numbers));
Run Code Online (Sandbox Code Playgroud)


mpl*_*jan 7

应用于键很容易找到具有最高值的获取键,从对象注意字符串

var dict_Numbers = {"96": "0",
                    "97": "1",
                    "98": "2",
                    "99": "3",
                    "100": "4",
                    "101": "5"}

console.log(Object.keys(dict_Numbers).reduce(
  function(a, b){ 
    return parseInt(a,10) > parseInt(b,10) ? a : b 
  })
);
Run Code Online (Sandbox Code Playgroud)

但正如我对这个问题发表评论的那样,在sinisake发布的Object.keys上使用Math.max有一种更简洁的方法.


Dee*_*eep 1

尝试这个。

您可以迭代对象的属性并检查其值。

var dict_Numbers = {
  "96": "0",
  "97": "1",
  "98": "2",
  "99": "3",
  "100": "4",
  "101": "5"
};

var max = 0;

for (var property in dict_Numbers) {
  max = (max < parseFloat(property)) ? parseFloat(property) : max;
}

console.log(max);
Run Code Online (Sandbox Code Playgroud)