繁体   English   中英

在javascript中获取嵌套对象的下一个属性

[英]Get next property of nested object in javascript

我一直在尝试编写一个函数来返回另一个内联属性键。

假设我们有这个 JSON:

'Test123': {
    'Another Test': {},
    'Test some more': {
        'Still testing?': {
            'Yeah...': {}
        },
        'Never ending story': {}
    }
},

例如,如果我们通过“仍在测试中?” 键进入函数它应该返回'Yeah...',但是如果我们通过'Yeah...'它应该返回'Never end story'。 有人知道该由谁来做吗? 我一直在尝试编写一个这样做的函数,但我的大脑不支持它......

 let obj = { 'Test123': { 'Another Test': {}, 'Test some more': { 'Still testing?': { 'Yeah...': {} }, 'Never ending story': {} } } } function nextKey(keyStr, object) { if (!keyStr || !object || typeof object != 'object' || object.constructor.name != 'Object') { console.log("Improper Parameter !!!") return } let found = false let answer = {} findKey(object) return (Object.keys(answer).length) ? answer : ""; function findKey(obj) { for (let key of Object.keys(obj)) { if(Object.keys(answer).length) return; let value = obj[key] if(key == keyStr)found = true; else if(found) {answer.key = key; answer.value = value; return} if (Object.keys(value).length) findKey(value) } } } console.log(nextKey('Still testing?', obj)) //{ key: 'Yeah...', value: {} } console.log(nextKey('Yeah...', obj)) //{ key: 'Never ending story', value: {} }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM