How to solve concat is not a function in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: concat is not a function in JavaScript
When we use a Array.concat()
method on a value which is not an data type array we will get the following error in our console.
Example:
const arr= {
a: 1,
b: 2,
c: 3
};
arr.concat([4, 5, 6]);
Output:
"TypeError: arr.concat is not a function
In the example above, we are getting the error because we using the concat()
method on a datatype object.
To solve the error, make sure to call the concat() method on a data type array or convert it to array before calling the concat method on it.
Here is an example:
const arr = [1, 2, 3];
const result = arr.concat([4, 5, 6]);
console.log(result);
Output:
[1, 2, 3, 4, 5, 6]
Note: The ‘concat()’ method creates a new array by merging the two or more arrays.
If you’re getting the error when working with a HTML collection then convert the HMTL collection to a array before calling ‘concat()’ method on it.
const elements = document.getElementsByClassName("container");
[...elements].concat(['user', '3455']);
TypeChecking
We can also check, if the given value is an valid array or not before calling the concat()
method on it.So that, we can avoid the runtime errors.
Here is an example:
var arr = [1, 2, 3];
if(Array.isArray(arr)){
arr.concat([4, 5, 6]);
}else{
console.log("Given data is not an array")
}
Conclusion
The “TypeError: concat is not a function” error occurs, when we call a concat() method on a value which is not datatype array. To solve the error, convert the value to an array before calling the concat() method on it or make sure to use the concat() method on valid arrays.