2016-08-02 7 views
2

javascriptで変数の値を(リターン)配列に変換していますか?私は、配列の名前として変数e(つまり、文字列「C」)のjavascriptの御馳走の文字列値を作成するにはどうすればよい

var a = [10,20,30,40]; 
 
var b = [11,22,33,44]; 
 
var c = [40,30,20,10]; 
 

 
var d = ["a","b","c"]; 
 

 
var e = d[2]; 
 

 
console.log(e[0]);

[0]の位置に40といない文字を返す電子ので、[0] 。あなたのサポートのためにありがとう、それがばかな質問であればごめんなさい。

+0

OPでそれを行うことができます - あなたは3を配置する必要があります配列をオブジェクトに挿入するか、または勝利を使用するdowオブジェクト(アドバイスされていません)。あなたが求めているのは[動的変数名](http://stackoverflow.com/questions/5117127/use-dynamic-variable-names-in-javascript)です。 – evolutionxbox

答えて

6

文字列の代わりに、配列の参照を要素として配置します。

var a = [10, 20, 30, 40]; 
 
var b = [11, 22, 33, 44]; 
 
var c = [40, 30, 20, 10]; 
 

 
var d = [a, b, c]; 
 

 
var e = d[2]; 
 

 
console.log(e[0]);


var d = [a, b, c]; 
もう一つの方法は、 eval()メソッドを使用することですが、私はその方法を好みません。

は参照してください:Why is using the JavaScript eval function a bad idea?

3

をあなたはevalを使用する必要があります:

var e = eval(d[2]); 

しかし、あなたはevalを使用する必要があるという事実は、通常、あなたは間違って何かをやった意味。各配列に含まれる変数の代わりに、配列の配列を含む単一の変数を使用するほうがよいでしょう。 Pranav C Balan's answerは、個々の配列から配列の配列を作成する方法の1つです。

+0

私はこれがOPが求めていたものではないと思います。 OPはeが40に等しくなるようにします。 – evolutionxbox

+0

@evolutionxbox彼は 'e'を' c'への参照にしたいので 'e [0]'を40にしたいと思っています。 – Paulpro

+0

ええ、そうです – evolutionxbox

2

あなたの配列はオブジェクトの鍵である場合は、この操作を行うことができます。

var arrays = { 
    a: [10, 20, 30, 40], 
    b: [11, 22, 33, 44], 
    c: [40, 30, 20, 10], 
} 

var d = ['a', 'b', 'c']; 

var e = d[2]; 

console.log(arrays[e][0]); // Will output "40". 

これは潜在的に危険であるeval()の使用を回避!あなたが本当にabcではなく、オブジェクトキーの変数であることを必要とする場合

ORは、あなたが@pranav答えとして行うことができます。

var d = [a, b, c]; 

これはあなたの元の配列のための参照を作成します、

console.log(d[2][0]); // Will output "40" too! 
0

二重引用符を使用しないでください。あなたが望むように

var d = [a,b,c]

その後、

console.log(e[0][0]) will return the element you want 
0

、あなたがthisキーワード

var a = [10,20,30,40]; 
 
var b = [11,22,33,44]; 
 
var c = [40,30,20,10]; 
 

 
var d = ["a","b","c"]; 
 

 
var e = this[d[2]]; 
 

 
console.log(e[0]);

関連する問題