如何创建嵌套JSON目录结构并在末节点插入存储值?
实现类链表结构的JSON并在末尾插入新值
这种嵌套的JSON结构本质是模拟链表,每个节点包含value(存储数据)和next(指向下一个节点,最后一个节点的next为null)。要在末尾插入新值,核心是找到最后一个next为null的节点,再将新节点赋值给它的next属性。
具体实现步骤(以JavaScript为例)
- 获取链表的根节点(比如示例中的
obj)
- 获取链表的根节点(比如示例中的
- 循环遍历节点:只要当前节点的
next不为null,就切换到下一个节点
- 循环遍历节点:只要当前节点的
- 找到最后一个节点后,将新的节点对象赋值给它的
next
- 找到最后一个节点后,将新的节点对象赋值给它的
代码示例
初始链表:
let obj = { value : 5, next : { value : 10, next : { value : 15, next : { value : 20, next : null } } } }
插入值25的代码:
// 定义要插入的新节点 const newNode = { value: 25, next: null }; // 从根节点开始遍历 let current = obj; // 找到最后一个节点(next为null的节点) while (current.next !== null) { current = current.next; } // 将新节点挂到最后一个节点的next上 current.next = newNode;
执行后,obj的结构会变成:
{ value: 5, next: { value: 10, next: { value: 15, next: { value: 20, next: { value: 25, next: null } } } } }
如果需要重复插入,可以把这段逻辑封装成函数:
function insertAtEnd(head, value) { const newNode = { value, next: null }; if (!head) { // 如果链表为空,直接返回新节点作为根 return newNode; } let current = head; while (current.next !== null) { current = current.next; } current.next = newNode; return head; } // 使用示例 obj = insertAtEnd(obj, 30); // 插入30到末尾
内容的提问来源于stack exchange,提问作者Aniket Raj
相关产品推荐
相关产品推荐

