私は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'
});
}
ポインタはありますか?