You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS中图添加节点功能异常,求修改方案实现目标图结构

修复图节点添加函数

原函数的问题

  • 当添加不存在的节点(如5)时,graph[key]为undefined,调用push会触发错误
  • 错误地将邻接边数组包装成{ value: value }对象,不符合目标结构的数组格式

修正后的代码

var graph = {
    1: [2, 4],
    2: [1, 3],
    3: [2, 4],
    4: [1, 4]
};

function addNode(key, value = []) {
    // 直接为节点设置邻接边数组,新增或覆盖现有节点的邻接表
    graph[key] = value;
}

addNode(5, [3, 4]);
console.log(graph);

扩展:支持为已有节点追加邻接边

如果需要保留已有节点的邻接边,同时追加新边,可以修改函数:

function addNode(key, value = []) {
    // 节点不存在则初始化空数组
    if (!graph[key]) {
        graph[key] = [];
    }
    // 展开传入的边数组,追加到邻接表中
    graph[key].push(...value);
}

内容的提问来源于stack exchange,提问作者Sougata Mukherjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 23:25:04