NodeJS .forEach未定义

我在[].forEach中使用了[].forEach

(使用NodeJs v5.4.1)

让这个代码在一个函数中

 function _buildUserQuestionsForDisplay(question,callback){ var res = {} ["is_open","created","deleted","_id"].forEach(function(v){ res[v] = question[v] }) ... ... } 

抛出一个错误:

[ “IS_OPEN”, “创build”, “删除”, “_ ID”]。的forEach(函数(V){

TypeError:无法读取属性'forEach'的undefined

它工作,如果我改变代码

 var arr = ["is_open","created","deleted","_id"]; arr.forEach(function(v){ res[v] = question[v] }) 

我已经在Chrome.console上testing了相同的function,第一种方法Chrome.console
我知道这两个使用V8 JS引擎,这是一个错误,或者我失踪的Javascript规则?

谢谢!

如果在此行之后没有分号,则代码会中断:

 var res = {} 

为了最大限度地减less这些问题,一个好主意是如果你不使用棉绒,那就使用棉绒。 ESLintESLint都可以作为开发插件添加到你的代码编辑器中(我使用ESLint和SubmlimeText中的Airbnb样式表),也可以在提交代码之前使用Gulp或Grunt将其添加到工作stream中。

如果您select尽可能省略分号,我的build议是在任何以这些标记之一开头的语句中的开括号或方括号之前,或者以算术操作符标记“/”,“ +“或” – “,如果你碰巧写这样的陈述。 – 由Michaeljohn Clement 2010撰写的博客