JavaScriptでオブジェクトのプロパティを反復処理する方法

非常に一般的なタスクは次のとおりです。JavaScriptでオブジェクトのプロパティを反復処理します

オブジェクトがある場合、それを使用して繰り返すことはできませんmap()forEach()またはfor..ofループ。

エラーが発生します:

const items = {
  'first': new Date(),
  'second': 2,
  'third': 'test'
}

map()あなたに与えるTypeError: items.map is not a function

items.map(item => {})

forEach()あなたに与えるTypeError: items.forEach is not a function

items.forEach(item => {})

for..ofあなたに与えるTypeError: items is not iterable

for (const item of items) {}

それで、あなたは繰り返すために何ができますか?

for..inより簡単な方法です:

for (const item in items) {
  console.log(item)
}

電話することもできますObject.entries()上記のいずれかの方法を使用して、列挙可能なすべてのプロパティを含む配列を生成し、それをループします。

Object.entries(items).map(item => {
  console.log(item)
})

Object.entries(items).forEach(item => { console.log(item) })

for (const item of Object.entries(items)) { console.log(item) }

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: