在本教程中,我们将学习如何在JavaScript中修复object.forEach不是一个函数的错误。
当我们对一个不是数组、地图或集合类型的值使用forEach() 方法时,我们会在控制台中得到以下错误。
下面是一个在一个对象上使用forEach的例子。
const user = {
name: "john",
place: "italy"
};
user.forEach(el=> console.log(el));
// Uncaught user.forEach is not a function
为了解决这个错误,使用Object.keys() 方法以数组的形式获得对象的键,然后使用forEach 方法进行循环。
下面是一个例子。
const user = {
name: "john",
place: "italy"
};
const keys = Object.keys(user);
keys.forEach(key=> {
console.log(user[key]);
}
);
或者我们可以使用Object.values() 方法,它类似于Object.keys() ,但它以数组格式返回values 。
const user = {
name: "john",
place: "italy"
};
const values = Object.values(user);
values.forEach(value=> {
console.log(value);
}
);
我们也可以通过使用for...in循环来迭代一个对象。
const user = {
name: "john",
place: "italy"
};
for (let key in user){
console.log(user[key])
}
输出。
"john"
"italy"