【问题标题】:Get key of an value within object of object with multiple key and value pairs using javascript使用javascript获取具有多个键和值对的对象对象内的值的键
【发布时间】:2020-11-25 13:37:05
【问题描述】:

我有一个嵌套对象

var obj = {"bn_IN":
        {"status":"SUCCESS","language":"BENGALI","message":"Translated successfully"},"sq_AL":
        {"status":"SUCCESS","language":"ALBANIAN","message":"Translated successfully"},"af_ZA":
        {"status":"SUCCESS","language":"AFRIKAANS","message":"Translated successfully"},"da_DK":
        {"status":"SUCCESS","language":"DENMARK_DANISH","message":"Translated successfully"},
        "ar_DZ":{"status":"SUCCESS","language":"ARABIC","message":"Translated successfully"}}

我需要从“BENGALI”值中获取键“bn_IN”

试过了:

Object.keys(obj.filter(k=>obj[k]===BENGALI.toUpperCase())

无法过滤

【问题讨论】:

  • 欢迎来到 Stack Overflow!请使用tour(您将获得徽章!)并通读help center,尤其是How do I ask a good question? 您最好的选择是进行研究,search 以获取有关 SO 的相关主题,然后试一试. 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。

标签: javascript object key key-value nested-object


【解决方案1】:

您的问题不清楚,但我假设您需要其值为对象且包含“语言”键且“语言”键的值应为“BENGALI”的键。

//In the case of multiple keys
var obj = {"bn_IN":{"status":"SUCCESS","language":"BENGALI","message":"Translated successfully"},"sq_AL":{"status":"SUCCESS","language":"ALBANIAN","message":"Translated successfully"},"af_ZA":{"status":"SUCCESS","language":"AFRIKAANS","message":"Translated successfully"},"da_DK":
        {"status":"SUCCESS","language":"DENMARK_DANISH","message":"Translated successfully"},
        "ar_DZ":{"status":"SUCCESS","language":"ARABIC","message":"Translated successfully"}}

var keys=[]

for(key in obj){
     if(obj[key].language==="BENGALI") keys.push(key)
}

// In case if you know that key is unique

var obj = {"bn_IN":
        {"status":"SUCCESS","language":"BENGALI","message":"Translated successfully"},"sq_AL":
        {"status":"SUCCESS","language":"ALBANIAN","message":"Translated successfully"},"af_ZA":
        {"status":"SUCCESS","language":"AFRIKAANS","message":"Translated successfully"},"da_DK":
        {"status":"SUCCESS","language":"DENMARK_DANISH","message":"Translated successfully"},
        "ar_DZ":{"status":"SUCCESS","language":"ARABIC","message":"Translated successfully"}}

var key="";

for(key in obj){if(obj[key].language==="BENGALI") key=key}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2020-08-23
    • 2018-02-27
    • 1970-01-01
    • 2020-09-11
    相关资源
    最近更新 更多