Javascript 提取对象中的名称键

Javascript 提取对象中的名称键,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 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 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函数吗?不,是字符串插值