Solve - data.map is not a function in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: data.map is not a function in JavaScript
When we use a Array.map()
method on a value which is not an data type array we will get the following error in our console.
Example:
const data = {
name: "john",
place: "italy"
};
obj.map(element => {
console.log(element);
});
Output:
"TypeError: data.map is not a function
In the example above, we are getting the error because we using the map()
method on a object.
To solve the error, we need to call the map() method on a data type array.
Here is an example:
const arr = [2, 3, 4];
arr.map(el=> el+2);
If you want to iterate over the object, use the Object.keys()
method to get the object keys in a array format and loop through it using the map()
method.
Here is an example:
const user = {
name: "john",
place: "italy"
};
const keys = Object.keys(user);
keys.forEach(key=> {
console.log(user[key]);
}
);
Output:
"john"
"italy"
or we can use the Object.values()
method which is similar to Object.keys()
but it returns the values
in array format.
const user = {
name: "john",
place: "italy"
};
const values = Object.values(user);
values.forEach(value=> {
console.log(value);
}
);
Output:
"john"
"italy"