/

如何在 JavaScript 中遍歷對象的屬性

如何在 JavaScript 中遍歷對象的屬性

這是非常常見的任務:在 JavaScript 中遍歷對象的屬性。

如果你有一個對象,你不能只使用 map()forEach()for..of 循環來遍歷它。

你會得到錯誤:

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

map() 會給出 TypeError: items.map is not a function

1
items.map(item => {})

forEach() 會給出 TypeError: items.forEach is not a function

1
items.forEach(item => {})

for..of 會給出 TypeError: items is not iterable

1
for (const item of items) {}

那麼,你可以做些什麼來進行遍歷呢?

for..in 是一種更簡單的方式:

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

你還可以調用 Object.entries() 來生成一個包含所有可枚舉屬性的數組,然後使用上述任意一種方法遍歷它:

1
2
3
4
5
6
7
8
9
10
11
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)
}

tags: [“JavaScript”, “object iteration”, “for…in”, “Object.entries”]