0

jsbin.com ツールを使用して Javascript コードをテストする eval() 関数を使用しましたが、JSBin からの警告に「Eval is Evil」と表示されます。eval() 関数の使用についていくつかの検索を行いましたが、一部の情報源は、eval() の使用を常に回避できると言っています。

私のコードは、他の配列からのパラメーターを使用して配列にアクセスする必要があります。このコードを参照してください:

var Collection = {
                  "cell"  : "value[3]", 
                  "lines" : "source[1..7]", 
                  "title" : "greeting"
                 };

var Data = {
            source : ["a", "b", "c"],

            value   : [
                       "done",
                       "easy", 
                       "f", 
                       "g", 
                       "h", 
                       "i", 
                       "j" 
                      ],

            greeting : "Hi!"         

       };

function Process()
 {
  var x = "cell";

  console.log("value[4] = " + Data.value[4]);
  console.log("C : " + Collection[x]);
  console.log("value['cell'] = " + eval("Data." + Collection[x]));
 }

出力は

value[4] = h
C : value[3]
value['cell'] = g

推奨事項では、value[4] へのアクセスの場合と同様に、ドット表記を使用してアクセスするように指示されていますが、アクセスする値は「x」などの変数で、この場合はコンテンツ「セル」になります。この値は Collection 配列にアクセスするために使用され、使用される値と Data 配列を選択します。eval() 関数を使用して解決します。

eval() なしでこれを行う方法はありますか??

4

0 に答える 0