修复JavaScript中object.forEach不是一个函数的错误的方法

776 阅读1分钟

在本教程中,我们将学习如何在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"