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() なしでこれを行う方法はありますか??