2016-09-01 22 views
0

https://jsfiddle.net/mandtcampos/e5kLqc5a/指定されたオブジェクト

を呼び出すために1つの配列から文字列の結果を使用すると、私はこれをカバーして何かを見つけることができていない別の配列のリテラル結果からオブジェクトを呼び出すしたいんです。私は正しい命名法で検索しているかどうかもわかりません。

それは(「作業」)ハード型指定されたオブジェクトで動作しますjsfiddleで

名前ではなく、私は

<body> 
 
<p>Click the button to evaluate/execute JavaScript code/expressions.</p> 
 
<button onclick="myFunction()">Try it</button> 
 
<p id="workingDemo"></p> 
 
<p id="notworkingDemo"></p> 
 
<script> 
 
function myFunction() { 
 
var arrayName = ['text', 'script']; 
 
var arrayOne = [ {text: 'One- 1-1', script: 'One- A-A'}, {text: 'One- 2-2', script: 'One- B-B'}, {text: 'One- 3-3', script: 'One- C-C'} ]; 
 
var arrayTwo = [ {text: 'Two- 1-1', script: 'Two- A-A'}, {text: 'Two- 2-2', script: 'Two- B-B'}, {text: 'Two- 3-3', script: 'Two- C-C'} ]; 
 
var arrayThree = [ {text: 'Three- 1-1', script: 'Three- A-A'}, {text: 'Three- 2-2', script: 'Three- B-B'}, {text: 'Three- 3-3', script: 'Three- C-C'} ]; 
 
var arrayBig = [arrayOne, arrayTwo, arrayThree]; 
 
var working = arrayBig[2][2].text; 
 
//var notWorking = arrayBig[2][2].arrayName[0]; 
 
document.getElementById("workingDemo").innerHTML = working; 
 
//document.getElementById("notworkingDemo").innerHTML = notWorking; 
 
} 
 
</script> 
 
</body>

+0

'notWorking'は'のvar notWorking = arrayBigする必要があります[2] [2] [arrayNameを[ 0]]; ' – tkhm

答えて

2

オブジェクト名を呼び出すために他のアレイ(「notWorking」)を使用あなたが探しているのは、arrayBig[2][2]で参照されるオブジェクトの名前がarrayName[0]に含まれているプロパティの値を取得することです。

var notWorking = arrayBig[2][2][arrayName[0]]; 

あなたのコードの変更:あなたのようなplacing the variable in []でそれを行うことができます

<body> 
 
    <p>Click the button to evaluate/execute JavaScript code/expressions.</p> 
 
    <button onclick="myFunction()">Try it</button> 
 
    <p id="workingDemo"></p> 
 
    <p id="notworkingDemo"></p> 
 
    <script> 
 
    function myFunction() { 
 
     var arrayName = ['text', 'script']; 
 
     var arrayOne = [ {text: 'One- 1-1', script: 'One- A-A'}, {text: 'One- 2-2', script: 'One- B-B'}, {text: 'One- 3-3', script: 'One- C-C'} ]; 
 
     var arrayTwo = [ {text: 'Two- 1-1', script: 'Two- A-A'}, {text: 'Two- 2-2', script: 'Two- B-B'}, {text: 'Two- 3-3', script: 'Two- C-C'} ]; 
 
     var arrayThree = [ {text: 'Three- 1-1', script: 'Three- A-A'}, {text: 'Three- 2-2', script: 'Three- B-B'}, {text: 'Three- 3-3', script: 'Three- C-C'} ]; 
 
     var arrayBig = [arrayOne, arrayTwo, arrayThree]; 
 
     var working = arrayBig[2][2].text; 
 
     var notWorking = arrayBig[2][2][arrayName[0]]; 
 
     document.getElementById("workingDemo").innerHTML = working; 
 
     document.getElementById("notworkingDemo").innerHTML = notWorking; 
 
    } 
 
    </script> 
 
</body>

+0

完璧!ありがとうございました! – mandtcampos

関連する問題