gpt4 book ai didi

javascript - 解释 Mike Bostock 节点解析循环

转载 作者:行者123 更新时间:2023-11-29 11:01:39 26 4
gpt4 key购买 nike

<分区>

我对 JavaScript 和 d3 比较陌生,但我对力导向布局非常感兴趣。在 Mike Bostock 的力导向可视化中,他倾向于使用以下代码(或类似代码)从链接列表中解析节点:

var links = [
{source: "A", target: "B"},
{source: "B", target: "C"},
{source: "C", target: "A"}];

var nodes = {};

links.forEach(function(link) {
link.source = nodes[link.source] || (nodes[link.source] = {name: link.source});
link.target = nodes[link.target] || (nodes[link.target] = {name: link.target});
});

我完全理解他最终在这里完成了什么,我只是想更好地理解 forEach 循环中的 JavaScript 语法(实际上,完全没有)。如果有人能解释一下,我将不胜感激。

这显然是非常优雅的代码,但我无法在互联网上的任何地方找到解释 - 我可能在搜索中遗漏了一个关键术语,所以我不情愿地在这里问这个问题。真正让我失望的是:

  • || 两边的两个赋值是做什么的,
  • 每行第一次赋值的顺序(每个||的左边):为什么是link.source = nodes[link.source]不是 nodes[link.source] = link.source,例如。

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