0

私はD3.jsを使用しています。元のソースは、オブジェクトにsourceと のtarget配列を設定しlinksます。

パーセンテージを含む配列をもう 1 つ追加しようとしています。私が従うテクニックは、ソースとターゲットで同じです。

ただし、JavaScript コンソールはエラーをスローします -Uncaught TypeError: Cannot read property 'percentages' of undefined

以下のコードでは、パーセンテージ用に追加されたステートメントを強調表示しています。

  function computeNodeLinks() {
    nodes.forEach(function(node) {
      node.sourceLinks = [];
      node.targetLinks = [];
      node.percentages = [];    //**** Added this
    });
    links.forEach(function(link) {
      var source = link.source,
          target = link.target,
          pc = link.pc;    //**** Added this
      if (typeof source === "number") source = link.source = nodes[link.source];
      if (typeof target === "number") target = link.target = nodes[link.target];
      if (typeof pc === "number") pc = link.pc = nodes[link.pc];    //**** Added this
      source.sourceLinks.push(link);
      target.targetLinks.push(link);
      pc.percentages.push(link);    //**** Added this. At this statement I get: 'Uncaught TypeError: Cannot read property 'percentages' of undefined'
    });
  }

ポインタはありますか?

4

0 に答える 0