2016-08-17 14 views
0

変数を宣言するループに使用できますか?同じように1つずつ変数を宣言することは賢明ではないためです。 DATA1、DATA2及びDATA3、私は通常、以下のようにそれを宣言します::私のような変数が必要な場合は例えばJavascript:forループで変数を生成

var data1 = ""; 

var data2 = ""; 

var data3 = ""; 

そして以下は、私たちは実際のコードで行うことができます期待するものです。

forループを使用し、 "i"を使用して変数ごとに番号を割り当てます。

for(var i = 0; i < 3 ;i++){ 

    var data+i = ""; 

} 

私はそれを行うことができますか?私は、上記のコードはそれを行う正しい方法ではなく、ただの概念だと思います。

+4

このように変数を生成しないでください。特に、配列と呼ばれる甘いデータ構造があるとき。 –

+0

どうすれば配列でこれを行うべきですか?あなたが何個のデータを持っているか予測できないからです。 – anson920520

+1

'var data = [];'は何百万というデータを提供します。[x] - [documentation](https://developer.mozilla.org/en-US/) docs/Web/JavaScript/Reference/Global_Objects/Array) – mplungjan

答えて

2

あなたがオブジェクトまたはグローバル変数を定義することができます。

var variables = {}; 
 

 
for (var i = 0; i < 3; i++) { 
 

 
    variables['data' + i] = i; 
 

 
} 
 

 
console.log(variables); 
 

 
// you can use it like variables.data0 
 

 

 
// by the way you can define global variables as you want 
 
// but note that this pollutes the global space 
 

 
for (var i = 0; i < 3; i++) { 
 
    window['data' + i] = i; 
 
} 
 
// so you can use it like 
 

 
console.log(window.data0, ' or ', data0)

+0

私はそれを呼び出すためにループを使用できますか? – anson920520

+0

はvariables.data [i] – anson920520

+0

@ anson920520と似ています。やってみなよ。それが動作すれば..問題ではない – DININDU

1

javascriptが動的に型付けされているため、そのようなことを行うことができます。 JavaScriptを使用すると、キーを介して変数にアクセスすることができます。

var baseVariable = {}; 
for(var i = 0; i < 3; i++){ 
    baseVariable["data" + i] = "ValueForData" + i; 
} 

あなたがよりbaseVariabelを反復処理することにより、これらの変数は非常に簡単にアクセス、あるいは今、あなたもそのようにそれを呼び出すことができ、正確な量であればできます。

baseVariable.data1 
-1

あなたは、文字列からコードを評価するためにeval関数を使用することができます。たとえば :

var a = 2; eval('alert(a)'); 

が割り当てチェーンを見てみましょう。おそらく適切であるかもしれない。

var a = b = c = d = e = f = g = ""; 

しかし、この方法は良い方法ではありません。 あなたの質問のコメントに記載されているように、データを格納する配列やオブジェクトを使用するより良い方法です。

関連する問題