多次元配列を作成する「情報」という変数があります。配列の各行について、配列の最初の値を名前とする変数を返したいと考えています。つまり、以下の「情報」配列が与えられた場合、次の出力が必要になります。
var lunalovegood = information[i][2] + ' ' + information[i][3] + ' is a ' + information[i] [1] + '!'; //Luna Lovegood is a Ravenclaw!;
var dracomalfoy = information[i][2] + ' ' + information[i][3] + ' is a ' + information[i] [1] + '!'; //Draco Malfoy is a Slythering!;;
var hermionegranger = information[i][2] + ' ' + information[i][3] + ' is a ' + information[i] [1] + '!'; //Hermione Granger is a Gryffindor!;;
つまり、'information' 配列の各要素を操作して何らかのマークアップを作成できるようにしたいと考えています。情報配列から必要な情報を取得する方法は既に知っていますが、以下に示すように、名前ごとに個別の変数を宣言する必要があります。
for (var i = 0; i < information.length; i++) {
var htmlString = information[i][2] + ' ' + information[i][3] + ' is a ' + information[i] [1] + '!'; //Luna Lovegood is a Ravenclaw!
$('div').html(htmlString);
} //end for loop
var information = [
['lunalovegood', 'Ravenclaw', 'Luna', 'Lovegood', '(chaser)', 'lovegood.jpg', 4]
['dracomalfoy', 'Slytherin', 'Draco', 'Malfoy', '(seeker)', 'malfoy.jpg', 2],
['hermionegranger', 'Gryffindor', 'Hermione', 'Granger', '(none)', 'granger.jpg', 3],
];
以下の JavaScript は、「lunalovegood」、「dracomalfoy」、「hermionegrange」という 3 つの変数を作成しますが、変数を作成するには長い道のりです。「情報」配列の 0 番目のインデックス付き要素をループして、配列の各行に 1 つずつ、これらの変数を作成するにはどうすればよいですか?
var myVariables = {}
,varNames = ["lunalovegood","dracomalfoy","hermionegranger"];
for (var i=0;i<varNames.length;i+=1){
myVariables[varNames[i]] = 0;
console.log(lunalovegood);
}