2016-07-22 7 views
-1

javascriptでこのロジックをデバッグするのには助けが必要ですが、私の変数の値をチェックするためにハードブレークポイントを設定しましたが、変数を配列に戻すことはできません。 2つの配列は、結合されたlat longs値のコレクションに過ぎません。私はTSVを持っています。これはそれぞれ2つの点の行であり、それらの点はそれぞれlong longに分解されています。それぞれを1組にして元の配列と出力先の配列にプッシュします。要素を配列に挿入するjavascript

output.tsv

Points 36.4535252345245 -122.3242534522 35.4535435435 -123.3342443545 

コードのサンプルライン:

var origins = []; 
var destinations = []; 

d3.tsv('output.tsv', function(data){ 
    var json = JSON.stringify(data); 
    var i; 
    for(i=0; i<data.length; i++) { 
     var lat1, lat2, long1, long2; 
     var point1, point2; 

     lat1 = data[i].b; //value = 36.4535252345245 
     long1 = data[i].c; //value = -122.3242534522 
     lat2 = data[i].d; //value = 35.4535435435 
     long2 = data[i].e; //value = -123.3342443545 

     point1 = lat1 + ', ' + long1; //value = 36.4535252345245, -122.3242534522 
     point2 = lat2 + ', ' + long2; //value = 35.4535435435, -123.3342443545 
     origins.push(point1) 
     destinations.push(point2) 
    } 
})(); -> ERROR : Uncaught TypeError: d3.tsv(...) is not a function(anonymous function) 

UPDATE:

解決された問題の配列の一部に押し込みます。それは文法の間違いだった。それでもキャッチされない例外TypeErrorを取得

:オブジェクトではありませんあなたのコードを見てみると

+0

「原点は定義されていません」のようなものです –

+0

@m_callens \tそしてタイプミスを修正しました。関数内でエラーが発生しています。 IIFEが正しいかどうかにかかわらず、依然として存在する変数を使用する必要があります。 –

+0

なぜあなたはこれをやっていますか? 'd3.tsv'はオブジェクトの配列を与え、各オブジェクトはTSVの最初の行に基づくキーと他の行に基づく値を持ちます。 TSVに正しい緯度と経度が含まれている場合は、この計算がすべて必要なわけではありません。 –

答えて

0

:d3.tsv(...)は、関数(無名関数)&新しいエラーInvalidValueErrorではありません。それは...
origins.push(point1)destinations.push(point2)

+0

良いキャッチ!プッシュの問題を修正しました。 – Katserbot

関連する問題