Javascript 提取对象中的名称键
这是我的var DL=10 LL=05Javascript 提取对象中的名称键,javascript,object,Javascript,Object,这是我的var DL=10 LL=05 var service_load_combo = { "SL1": { "results": DL }, "SL2": { "results": DL + LL, } }; 结果SL1.results=10和SL2.results=15。因为SL2.0的结果是两个中的最大值。如何获得对象名称的答案“SL2”。我试过Object.key(),但是很难。希望你能帮助我。你可以用这个: var
var service_load_combo = {
"SL1": {
"results": DL
},
"SL2": {
"results": DL + LL,
}
};
结果SL1.results=10和SL2.results=15。因为SL2.0的结果是两个中的最大值。如何获得对象名称的答案“SL2”。我试过Object.key(),但是很难。希望你能帮助我。你可以用这个:
var keyNames = Object.keys(myObject);
if ( keyNames.indexOf( "SL2" ) !== -1 ) { }
这是一个简单的max算法,它也将返回相应的密钥。这将适用于任何数量的
SL
条目
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}`);
如果您只有2个密钥,并且只关心它们的密钥名称,那么:
var keys = Object.keys(service_load_combo);
var maxKey= (service_load_combo[keys[0]] > service_load_combo[keys[1]] ? keys[0] : keys[1]);
console.log(`Max: Key: ${maxKey}`);
你可以用
设DL=10,LL=5;
让服务加载组合={“SL1”:{“results”:DL},“SL2”:{“results”:DL+LL};
//将max设置为0,假设没有负值,否则可以设置为Number.MIN\u值
设max=0,maxKey;
for(让输入服务\加载\组合){
//如果该值大于最大值,请更新max和maxKey
if(服务加载组合[key]。结果>最大值){
max=服务\加载\组合[键]。结果;
maxKey=key;
}
}
console.log(maxKey)代码>您好,您在哪里声明了DL和LL?这个很酷!我试试。那$was是jquery函数吗?不,是字符串插值