連想配列を要素に持つ配列の全情報を順に取り出す
やりたいこと
下記のような連想配列を要素に持つ配列の全情報を順に取り出す
var users = [ { name: 'Tom', age: 20, nationality: 'アメリカ', }, { name: 'Taylor', age: 30, nationality: 'フランス', }, ];
A:配列内の要素(連想配列)を順に取り出し、項目ごとに出力する
手順1:配列内の要素を変数として定義し、要素の数を順に足していく繰り返し処理を定義
for(var i = 0 ; i < users.length; i++) * var i = 0 → 変数の要素は0から開始 * i < users.length → 変数が要素の数になるまで(今回の場合は2) * i++ → 1づつ足していく
手順2 :console.log(配列名[i].項目)で指定値が順に取り出せる
console.log("名前は" + users[i).name + "です"); console.log("年齢は" + users[i).name + "です"); console.log("国籍は" + users[i).name + "です"); 結果: 名前はTomです 年齢は20です 国籍はアメリカです 名前はTaylorです 年齢は30です 国籍はフランスです
おまけ
・○○人目
という項目を追加して結果を見やすく表示する
方法
・繰り返し文の後に変数numberを定義(配列内の要素の順番を入れる)
for(var i = 0; i < users.length; i++){ var number = i + 1; ←追加 *iの開始値は0なので1を足している console.log(number + "人目は"); } 結果: 1人目は 2人目は
手順2の内容に追記
var users = [ { name: 'Tom', age: 20, nationality: 'アメリカ', }, { name: 'Taylor', age: 30, nationality: 'フランス', }, ]; for(var i = 0; i < users.length; i++){ var number = i + 1; console.log(number + "人目は"); console.log("名前は" + users[i).name + "です"); console.log("年齢は" + users[i).name + "です"); console.log("国籍は" + users[i).name + "です"); } 結果: 1人目は 名前はTomです 年齢は20です 国籍はアメリカです 2人目は 名前はTaylorです 年齢は30です 国籍はフランスです