2016-10-19 11 views
0

のプロパティ「歩留まり」を読み取ることができません私は、このエラーメッセージ、キャッチされない例外TypeError:未定義

「:未定義の 『歩留まり』プロパティを読み取ることができませんキャッチされない例外TypeError」を得続けます。

奇妙なことは、私は他の誰かのコードフォームをコピーしていて、彼らはこの問題を抱えていないということなので、どんな洞察も素晴らしいことでしょう.thx!

以下はコードです。特定のエラーは下から2番目の行にあります。 variety ["YoY"] = variety.values [1] .yield - variety.values [0] .yield;


d3.tsv("barley.tsv", function(error, data) { 

    console.log(data); 

    data.forEach(function(d) { 
    d.site = d.site.replace(" ","").replace(". ", "") 
    d.variety = d.variety.replace(" ","").replace(". ", "") 
    d["third_level_node"] = d.site + "-" + d.variety + "-" + d.year; 
    d["second_level_node"] = d.site + "-" + d.variety 
    d["first_level_node"] = d.site 
    }) 

    var nestedBarley = d3.nest() 
     .key(function(d) { return d.site }) 
     .key(function(d) { return d.variety }) 
     .entries(data); 

    var yoyLookup = {}; 
    nestedBarley.forEach(function(site) { 
     site.values.forEach(function(variety) { 
      variety["YoY"] = variety.values[1].yield - variety.values[0].yield; 
      yoyLookup[site.key + "-" + variety.key] = variety["YoY"] 
     }) 
     }); 

答えて

0

我々は明確に知るためにあなたのデータを参照する必要があると思います。

あなたはより多くの洞察をしたい場合は、自分がnestedBarley.forEach(function(site) {後に迅速にconsole.logに突き出すに:

console.log ("variety values", variety.values); 

それは未定義の値か、私の勘*、長さ1の臨時の配列を生成した場合、それはあなたの問題です。

*あなたの巣作りが唯一の価値を持つエントリを作り出しています - おそらく、あなたの大麦のサイト/バラエティコンボの一部は1年/インスタンスのデータしか持たないかもしれません。したがって、variety.values [1]そのような場合には未定義となる。

関連する問題