I am getting error push() is not a function while pushing element in >array? giving me error lik arry.push is not a function
var abc=["get","get","get","get","get","get","get","get","get",];
for(i=0;i<abc.length;i++){
let a=abc[i].push("mate");
console.log(abc);
}
4 Answers 4
You should delete the [i] in abc[i].push() because abc[i] is string, but the .push() method works for arrays. Therefore you should use abc.push() instead of abc[i].push().
Comments
When you do abc[i].push(), you're actually calling .push() on the string at index i, not the array. Strings do not have the function .push() which is where your error is coming from
Instead try the following:
abc.push("mate");
Comments
To push elements in an array, simply use the Array.prototype.push method.
var abc = ["get", "get", "get", "get", "get", "get", "get", "get", "get"]
abc.push("mate")
Read more about how push works here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
The origin point of your error is that, you are accessing each array elements which are strings and trying to use the push() method on those.
Comments
The .push() method is for array only. In the loop, you're using abc[i] which means you're accessing each element of the array, not the whole array..
The above method works to add element to end of the array. So use abc.push()
.pushworks.abcis an array,abc[i]is an element of the array, in your case a string.strings don't have a push method ...