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を取得
:オブジェクトではありませんあなたのコードを見てみると
「原点は定義されていません」のようなものです –
@m_callens \tそしてタイプミスを修正しました。関数内でエラーが発生しています。 IIFEが正しいかどうかにかかわらず、依然として存在する変数を使用する必要があります。 –
なぜあなたはこれをやっていますか? 'd3.tsv'はオブジェクトの配列を与え、各オブジェクトはTSVの最初の行に基づくキーと他の行に基づく値を持ちます。 TSVに正しい緯度と経度が含まれている場合は、この計算がすべて必要なわけではありません。 –