请考虑此键值对:
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)
应用于键很容易找到具有最高值的获取键,从对象注意字符串
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有一种更简洁的方法.
尝试这个。
您可以迭代对象的属性并检查其值。
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)
| 归档时间: |
|
| 查看次数: |
5149 次 |
| 最近记录: |