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