どうも、ちょげ(@chogetarou)です。
オブジェクト(Object)のキー(key)と値(value)をループする方法を紹介します。
方法

オブジェクト(Object)のキー(key)と値(value)をループする方法は、2つあります。
for…of文
ひとつは、for…of文を使う方法です。
まず、for…of文を記述します。
for…of文のループ対象(ofの右辺)に、対象のオブジェクトを引数に指定したObject.entries()を指定します。
また、for…of文のループ変数は、2つ記述します。
そして、for…of文のループ処理を指定します。
ループ処理では、1つ目のループ変数でキー、2つ目のループ変数で値を取得できます。
//obj=対象のオブジェクト
for (let [key, value] of Object.entries(obj)) {
//ループ処理
//変数「key」でキー、変数「value」で値を取得
}
上記のfor…of文は、対象のObjectのキー(key)と値(value)をループします。
使用例
const nums = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
for (let [key, value] of Object.entries(nums)) {
console.log(key + ":" + value);
}
出力:
one:1
two:2
three:3
four:4
five:5
forEach()
もうひとつは、forEach()を使う方法です。
まず、Object.entries()を呼び出します。
Object.entries()の引数に対象のオブジェクトを指定します。
次に、Object.entries()からforEach()を呼び出します。
forEach()の引数に、関数を指定します。
関数の処理に、ループ処理を記述します。
(関数内では、引数の左側でキー、右側で値を取得)
//obj=対象のオブジェクト
Object.entries(obj).forEach(function ([key, value]) {
//ループ処理
//「key」でキー、「value」で値を取得
})
上記のforEach()は、対象のObjectのキー(key)と値(value)を一緒にループします。
使用例
const nums = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
Object.entries(nums).forEach(function ([key, value]) {
console.log(key + ":" + value);
})
出力:
one:1
two:2
three:3
four:4
five:5
まとめ
オブジェクト(Object)のキー(key)と値(value)をループする方法は、次の2つです。
- for…of文を使う方法
for (let [key, value] of Object.entries(obj)) { /*ループ処理*/ }
- forEach()を使う方法
Object.entries(obj).forEach(function ([key, value]){ /*ループ処理*/ })
コメント