如何使用 d3js 作为强制布局从 json 中的子节点获取父节点?

How to get parent node from child in json using d3js as Force Layout?

我用d3js显示地图,用Force Layout作为一个圆来设置位置。

我有一张国家地图,当我点击任何特定州时,我会删除我的 svg 并通过从 json.

获取 d(子记录)重新构建

现在的问题是,当我点击后退按钮时,我需要返回并设置父节点,这是国家地图,需要再次设置状态link和节点。

是否需要使用for循环来检查json中的所有记录?

我找到了一种解决方案,可以将最后一个父节点存储在数组中并使用它返回,但我不知道如何设置父节点,因为在单击事件时它总是在单击函数时获取子记录。

那么点击事件如何获取父记录?

请帮我解决这个问题。

将数据存储到数组中是个好主意,但不适合那些拥有大数据的人。

正如您提到的,在单击事件中您会获得所选状态的新记录,因此最好将该记录作为第二个关键记录存储在数组中,我的意思是

array[0] = "Parent record"
array[1] = "Child Record"
array[2] = "Sub Child Record"

所以当你回来时,你可以当场获得记录,而不需要循环 json 假设从一个州到另一个国家,而不是通过

重新加载页面
document.location.reload()

因此您的数组将使用空值进行初始化,这样您就可以通过进入不同的状态来存储新值,而无需从国家/地区获取记录并进行设置,因为国家/地区将是您的主页。