如何解决TypeError:data.map不是JavaScript中的一个函数

226 阅读1分钟

在本教程中,我们将学习如何解决TypeError:data.map不是JavaScript中的一个函数。

当我们对一个不是数据类型数组的值使用Array.map() 方法时,我们会在控制台得到以下错误。

例子。

const data =  {
   name: "john",
   place: "italy"
};

obj.map(element => {
    console.log(element);
});

输出。

"TypeError: data.map is not a function

在上面的例子中,我们得到这个错误是因为我们在一个对象上使用了map() 方法。

为了解决这个错误,我们需要在一个数据类型的数组上调用map()方法。

下面是一个例子。

const arr = [2, 3, 4];

arr.map(el=> el+2);

如果你想遍历对象,使用Object.keys() 方法获得数组格式的对象键,然后使用map() 方法循环遍历它。

下面是一个例子。

const  user = {
   name: "john",
   place: "italy"
};

const keys = Object.keys(user);

keys.forEach(key=> {
    console.log(user[key]);
  }
);

输出。

"john"
"italy"

或者我们可以使用Object.values() 方法,它类似于Object.keys() ,但是它以数组格式返回values

const  user = {
   name: "john",
   place: "italy"
};

const values = Object.values(user);

values.forEach(value=> {
    console.log(value);
  }
);

输出。

"john"
"italy"