嵌套forEach:未捕获TypeError:data.forEach不是函数

时间:2015-09-02 17:38:32

标签: javascript

我不想使用任何for循环或任何常规循环,我试图使用forEach但我收到错误

  

未捕获的TypeError:data.forEach不是函数

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

但如果我这样做就可以了:

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

为什么?

1 个答案:

答案 0 :(得分:7)

data是一个对象 - forEach仅在Array类型上运行。您必须使用for..in循环来迭代对象的键。