最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Nested forEach: Uncaught TypeError: data.forEach is not a function - Stack Overflow

programmeradmin1浏览0评论

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 ?

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 ?

Share Improve this question asked Sep 2, 2015 at 17:38 NonNon 8,61920 gold badges80 silver badges130 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

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.

发布评论

评论列表(0)

  1. 暂无评论