This question already has answers here:
Find by key deep in a nested array
                            
                                (14个回答)
                            
                    
                2年前关闭。
        

    

我有一个看起来像这样的多维对象:

obj = {
    'someString': {
        name: 'John',
        page: 'some url',
        number: 4
    },
    'someString2': {
        name: 'Bill',
        page: 'some url',
        number: 7
    }
}


我如何找到“数字”等于7的第一级密钥(在这种情况下为“ someString2”)?

这个数字始终是唯一的,是我事先唯一知道的。

最佳答案

干得好。使用Array.find函数查找适当的密钥。



const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys(data).find(x => data[x].number === numberToLookFor);


console.log(myKey);

关于javascript - 通过javascript中第二级键的值查找多维对象中的顶级键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47453241/

10-09 17:34