2017-11-27 2 views
0

I "DataTableのテーブルに結果を置くために文字列を構築しようとしてメートルこの文字列を作成するときに私は何を受け取るのですか? 。Javascriptを

私は配列を取り、それ自身のインデックスにすべてを取得するために正規表現を使用して、私の結果の文字列配列はこれですよ。

["41.8059016", "-77.0727825", "School Zone", 
"41.804526", "-77.075572", "Something", 
"41.804398", "-77.0743704", "Some Other Thing", 
"41.8073731", "-77.07304", "Pedestrian"] 

独自の指標ですべてと一つの大きな文字列配列次の私は、ループを使用してDataTableのテーブルにそれを渡すために文字列を構築しています。このようになるはずです、その結果:。。

var dataString = [ 
    ["41.8059016", "-77.0727825", "School Zone"], 
    ["41.804526", "-77.075572", "Something"], 
    ["41.804398", "-77.0743704", "Some Other Thing"], 
    ["41.8073731", "-77.07304", "Pedestrian"] 
    ]; 

Instea私は単純に「未定義」を削除し、datatabe、内のコードを貼り付けた場合

for(var i = 0; i < routePoints.length-3; i+=3){ 
      console.log(routePoints); 
      if(i >= 0 && i < routePoints.length - 4){ 
       dataSetString += '["' + routePoints[i] + '", "' + routePoints[i + 1] + '", "' + routePoints[i + 2] + '"],'; 
      }else if(i == routePoints.length - 3){ 
       dataSetString += '["' + routePoints[i] + '", "' + routePoints[i + 1] + '", "' + routePoints[i + 2] + '"]'; 
      } 
     } 

ここ
var dataString = undefined["41.8059016", "-77.0727825", "School Zone"], 
       ["41.804526", "-77.075572", "Something"], 
       ["41.804398", "-77.0743704", "Some Other Thing"], 
       ["41.8073731", "-77.07304", "Pedestrian"] 
       ]; 

私のループのコードは、配列から文字列を構築することです:D私はこれを取得していますしかし、私は未定義がどこから来ているのかわかりません。 2番目の目に感謝します!

+0

これがdownvotedれた理由downvoterは説明していただけますか? –

+0

ここにあなたの 'routePoints'配列を投稿しなければなりません。 (私はダウンボートしなかった)。 – loretoparisi

+1

Typo?または、各配列の最後の項目について、引用符を付けることができませんか? – sideroxylon

答えて

1

で終わりますそのようなStringを構成すべきではありません。 とにかく文字列が必要なのではなく、2D配列のように見えます。

var data = ["41.8059016", "-77.0727825", "School Zone", 
 
    "41.804526", "-77.075572", "Something", 
 
    "41.804398", "-77.0743704", "Some Other Thing", 
 
    "41.8073731", "-77.07304", "Pedestrian" 
 
]; 
 

 
var dataString = []; 
 

 
for (var i = 0; i < data.length; i+=3) dataString.push(data.slice(i, i + 3)); 
 

 
console.log(dataString); 
 
// Should you actually need a string, you can use JSON.stringify() 
 
console.log(JSON.stringify(dataString));

+0

@MarcusHolden配列の配列を作成しています。その配列をコンソールに印刷すると、配列の要素の間にカンマが印刷されます。 –

+0

これは完璧です。私はそれをねじ止めしている(まだ犯人を探している)のか分からないが、今は完全に働いている。ほんとうにありがとう!! –

+0

@MarcusHoldenよろしくお願いします!これがあなたが探していたものなら、あなたが私の答えを受け入れたとマークしていただければ幸いです。 –

2

通常、未定義は初期設定から得られます。ここにコードはありませんが、おそらく次のようなものがあります:

var dataSetString;

するvar dataSetString = "";:

代わりに、あなたはいつものように空の文字列を開始する必要があります

については、なぜになります。初期化されていない変数のデフォルト値はundefinedです。 +=操作を使用すると、自分の行ったことを解釈しようとします(2つの数字がある場合は、2つの文字列:連結します)。未定義のには良い+=操作を持っていないので、それはあなたが渡している文字列操作の第二の部分を使用しています。だから、それは自動的に文字列にundefinedを変換し、それを新しい文字列を連結して、あなたが"undefined[blah,blah,blah"

+0

これも私の前提です。私は同じことにしようとしていた。 – EvSunWoodard

+0

これがそれです。そんな愚かな間違い.....私はあなたが文字列のためにそれをしなければならないことを理解していませんでした。 (私はまだかなり新しいjavascriptである) –

+1

心配しない、私たちすべてに起こる。ハッピーコーディング。 – stevelacerda7

関連する問題