这是我的var DL = 10 LL = 05
var service_load_combo = {
"SL1": {
"results": DL
},
"SL2": {
"results": DL + LL,
}
};
因此,结果SL1.results = 10和SL2.results =15。因为SL2.results是2的最大值。我如何获得对象名称答案“ SL2”。我正在尝试Object.key(),但是很难。希望你能帮助我。
答案 0 :(得分:1)
这是一个简单的max算法,该算法也会返回相应的密钥。这将适用于任意数量的wxTE_PROCESS_ENTER
条目。
SL
如果您只有2个密钥,并且只关心它们的密钥名称,那么:
var maxValue = Number.MIN_VALUE;
var maxKey = null;
Object.keys(service_load_combo).forEach(k => {
var currentValue = service_load_combo[k].results;
if (currentValue > maxValue) {
maxValue = currentValue;
maxKey = k;
}
});
console.log(`Max: Key: ${maxKey} Value: ${maxValue}`);
答案 1 :(得分:0)
您可以使用此:
var keyNames = Object.keys(myObject);
if ( keyNames.indexOf( "SL2" ) !== -1 ) { }
答案 2 :(得分:0)
您可以使用for...in
let DL = 10, LL = 5;
let service_load_combo = { "SL1": {"results": DL},"SL2": {"results": DL + LL}};
// Setting max as 0, assuming no negative values, else can set to Number.MIN_VALUE
let max = 0, maxKey;
for (let key in service_load_combo) {
// If the value is greater than max value, update max and maxKey
if(service_load_combo[key].results > max) {
max = service_load_combo[key].results ;
maxKey = key;
}
}
console.log(maxKey);