JavaScript for in
for inループ
for...in
文ではオブジェクトに含まれるプロパティ名を取得できます。
構文
for (変数名 in オブジェクト) {
// 実行する処理
}
使用例
const person = {"名字":"山田", "名前":"太郎", "年齢":25};
let text = "";
for (let x in person) {
text += person[x];
}
上記使用例の説明
- 上記のfor in文は、
person
オブジェクトのループ処理を行います。 - 繰り返し処理中、
person
オブジェクトのキーとして変数x
を使用します。 - 値にアクセスするためにキーを使用します。
- キーの値は
person[x]
で取り出します。
配列を用いる場合
for...in
文は、配列のプロパティをループすることもできます。
構文
for (変数 in 配列) {
// 実行する処理
}
使用例
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x];
}
配列のインデックス番号順に処理したい場合、for in文を使用しないでください。
インデックス番号通りに処理されない場合があります。
インデックス番号順に処理したい場合、for文、for of文、forEach文を使用することをお勧めします。
forEachメソッド
forEach
メソッドは、配列の要素ごとに関数(コールバック関数)を1回呼び出します。
例
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt += value;
}
forEach
メソッドのコールバック関数は3つの引数を持ちます。
- 要素の値
- 要素番号
- 配列自体
上記の例では、要素の値のみを使用しています。次のように記述することもできます。
例
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value) {
txt += value;
}
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。