如何遍历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教程: