r66  2021/04/08更新

連想配列を要素に持つ配列の全情報を順に取り出す


やりたいこと

下記のような連想配列を要素に持つ配列の全情報を順に取り出す

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です
国籍はフランスです

タイトルとURLをコピーしました