2017-11-22 8 views
-3

私はtempStringのような配列形式の(var)文字列を与えるjavascript関数を書いています。それは配列のように見える結合された文字列です。 私はそこにtempString2のような要素を取得しようとしています。たとえば、alert( 'tempString [0]')のときに「test」を取得します。 誰かが私がここで行方不明を知っていますか?ありがとうjavascriptは配列形式の文字列を配列に戻します

function afunction() { 

var tempString = '["test"' + ', "test2"]'; 
var tempString2 = ["test", "test2"]; 

console.log(tempString[0]); // output not 'test' 
console.log(tempString2[0]); // output test 

} 
+1

私はあなたの例を実行すると、私は得る「[」の両方回印刷 - 私はプリントアウトし、「テスト」を取得決してしません。 – csmckelvey

+1

出力はどちらでもありません。問題を実際に示すコードを提供してください。また、あなたの段落の例は一貫していません。出力は '' test "'ではありません。 – trincot

+0

にtempString2の ''の追加セットが追加されました。今削除されました。再試行する。ありがとう – Void

答えて

1

tempStringあなたがインデックスにアクセスする場合は、その文字列の最初の文字を取得するように文字列として扱われることになるだろう。

JSON.parseを使用すると、オブジェクトを解析して動作させることができます。

function afunction() { 
 

 
var tempString = '["test"' + ', "test2"]'; 
 
var tempString2 = '["test", "test2"]'; 
 
var t=JSON.parse(tempString) 
 
console.log(t) 
 
console.log(t[0]); // output not 'test' 
 
console.log(tempString2[0]); // output test 
 

 
} 
 
afunction()

+0

、tempString2 [0]ではなく、tempString [0]を取得しようとしています。ありがとう – Void

+0

@Void変換後、実際の配列としてアクセスできるはずです...解析後に実際の配列を保持する変数をチェックしてください。それは問題ではありません。文字列変数の両方で動作するはずです –

+0

あなたは正しいですありがとう。私は元の文字列を解析し、パンケーキ<3 – Void

0

このような感じですか?

function afunction() { 
 

 
var tempString = '["test"' + ', "test2"]'; 
 
var tempString2 = '["test", "test2"]'; 
 

 
console.log(JSON.parse(tempString)[0]); // output not 'test' 
 
console.log(JSON.parse(tempString2)[0]); // output test 
 

 
} 
 

 
afunction()

関連する問題