gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:25:19 25 4
gpt4 key购买 nike

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

假设我们有这个 JSON:

'Test123': {
'Another Test': {},
'Test some more': {
'Still testing?': {
'Yeah...': {}
},
'Never ending 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: {} }

关于javascript - 在javascript中获取嵌套对象的下一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60755110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com