2017-09-25 10 views
1

私はjavascriptを使用しています。今私はJavaで "[\" x \ "、\" y \ "]"という文字列を持っています。今私はJavaScriptでこれを使用したい。以下のコードを見つけてください:文字列内の要素を繰り返します。

String str = "[\"x\",\"y\"]"; 
<script> 
    var javaScriptVar = '<%= str%>' 

</script> 

今、私はstrの各要素について繰り返したいと思います。私が使用しています:

$.each(javaScriptVar, function (i, itemI) { 
    //do something 
} 

しかし、私は、コンソールに次のエラー取得しています:私はこれは反復可能にするにはどうすればよい

Cannot use 'in' operator to search for 'length' in ["x","y"]. 

を?それは文字列として考慮されているからですか?どのようにそれを要素を反復処理するjavascriptの配列として作るのですか?

+0

'javaScriptVar.split( '');'は文字列を配列に変換します – Ammar

答えて

2

JSONは、オブジェクトを作るために引用符を避けるだけです(JSONはJavascriptで有効なオブジェクト表現です)。そうでなければ、文字列に対してjQuery.eachメソッドを使用することはできません。エラーはin operatorを使用してlengthプロパティを検索するため投げていますが、文字列では機能しません。

var javaScriptVar = <%= str%> 


またはJSON文字列を解析し、引数としてそれを提供。

+0

クイックコメントありがとうございました。引用符を削除すると問題が解決しました。 @PranavCBalan – user3750720

+0

@ user3750720:よろしくお願いします:) –

関連する問題