Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nested forEach: Uncaught TypeError: data.forEach is not a function

Tags:

javascript

I don't want to use any for loop or any of the regular loops, I am trying to use a forEach but I am getting an error

Uncaught TypeError: data.forEach is not a function

return falsyData.map(function(data) {
  data.forEach(function(key) {
    if (key.match(reg)) {
      return key;
    }
  });
});

but if I do it this way it works:

return falsyData.map(function(data) {
  for (var key in data) {
    if (key.match(reg)) {
      return key;
    }
  }
});

why ?

like image 492
Non Avatar asked Sep 02 '15 17:09

Non


1 Answers

data is an object - forEach only runs on Array types. You have to use a for..in loop to iterate the keys of an object.

like image 77
tymeJV Avatar answered Sep 17 '22 23:09

tymeJV