在使用JSON时,有时候我们需要获取JSON数据中某个对象的父对象。下面将介绍获取父对象的方法。
let json = { "person": { "name": "Tom", "age": 18, "address": { "city": "Beijing", "street": "Changan Street", "zipCode": "000001" } } } /** * 获取父对象 * @param {object} obj - 当前对象 * @param {string} targetKey - 目标键名 */ function getParent(obj, targetKey) { let parent = null; for (let key in obj) { if (key === targetKey) { return parent; } else if (typeof obj[key] === "object" && obj[key] !== null) { parent = obj; let result = getParent(obj[key], targetKey); if (result !== null) { return result; } } } return null; } // 获取address对象的父对象 let parent = getParent(json, "address"); console.log(parent);
在上面的代码中,我们定义了一个函数getParent
,它接受两个参数,obj
表示当前对象,targetKey
表示目标键名。函数内部使用for...in
循环遍历对象中的键名,如果当前键名是目标键名,则返回当前对象的父对象;如果当前键值也是一个对象,则递归执行getParent
函数,直到找到目标键名或者遍历结束。最后如果没有找到目标键名,返回null
。
在上面的例子中,我们使用getParent
函数获取了address
对象的父对象,它是person
对象。

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论