var b = '1';
変数 b の内容を使用して変数名を作成するにはどうすればよいですか? これを a each ループで行っているため、b が変更されます。
最終製品を次のようにしたいと考えています。
var trip1 = '';
どうすればそのようなことを達成できますか?
var trip + b = '';
var trip.b = '';
var b = '1';
変数 b の内容を使用して変数名を作成するにはどうすればよいですか? これを a each ループで行っているため、b が変更されます。
最終製品を次のようにしたいと考えています。
var trip1 = '';
どうすればそのようなことを達成できますか?
var trip + b = '';
var trip.b = '';
いいえ。ただし、オブジェクトのプロパティを使用して実行できます。
var obj = {};
obj.b = '1'
obj['trip' + obj.b] = '';
// or
var obj = {};
var b = '1'
obj['trip' + b] = '';
JavaScript では、次の 2 つの方法でプロパティにアクセスできます。
ドットとリテラル プロパティ名を使用しobj.trip1
ます。
ブラケットと文字列プロパティ名を使用しますobj['trip1']
。
後者の場合、文字列は文字列リテラルである必要はなく、任意の式の結果である可能性があるため、上記の例です。
私は各ループでこれをやっています
それらを繰り返し処理しているため、これを行う最善の方法は配列を使用することです。
var trip = [1,2,3,4,5];
for (var i = 0; i < trip.length; i++){
alert(trip[i]);
}
質問に答えるために、値をオブジェクトのプロパティとして保存できます。
var obj = {};
var b = '1';
obj['trip' + b] = "";
これをグローバル スコープで行う場合は、変数をグローバル オブジェクトのプロパティとして追加することもできます。
var b = '1';
window['trip' + b] = "";
trip1; // == ""
eval()メソッドを探しているようです。
var b = '1';
(eval('var trip'+b+' = 3')); // Is the same as writing var trip1 = 3;
console.log(trip1);
//Output of variable trip1 is 3
ただし、なぜeval();であるかをグーグルで簡単に検索してください。このテクニックを採用する前に悪いです。
次のような動的キーを使用して、window オブジェクトを介してグローバル変数にアクセスできます。
var b = '1';
trip1 = 'hello';
console.log(window['trip'+b]);