Javascript 使用下划线排除文件和目录
我有一个node.js/express应用程序,它使用i18next进行站点本地化 目前,我正在从一个硬编码的版本中提取这个列表:但是我想通过读取Javascript 使用下划线排除文件和目录,javascript,node.js,express,coffeescript,underscore.js,Javascript,Node.js,Express,Coffeescript,Underscore.js,我有一个node.js/express应用程序,它使用i18next进行站点本地化 目前,我正在从一个硬编码的版本中提取这个列表:但是我想通过读取locales目录,然后从中生成这个列表来创建这个列表 我希望基本上不返回dev、README.md和config.json,而只返回其他目录,这样我就可以返回正确的国家/地区,例如使用节点cldr库提取语言显示名称,如下所示: 等等 到目前为止,在查看reject集合时,我不知道如何删除这些文件和目录 fs.readdir "./locales"
locales
目录,然后从中生成这个列表来创建这个列表
我希望基本上不返回dev
、README.md
和config.json
,而只返回其他目录,这样我就可以返回正确的国家/地区,例如使用节点cldr库提取语言显示名称,如下所示:
等等
到目前为止,在查看reject
集合时,我不知道如何删除这些文件和目录
fs.readdir "./locales", (err,locales) ->
results = []
__.reject locales, (value, index, list) ->
console.log value, index, list
results.push value
console.log results
关于如何最好地使用下划线中的
reject
函数执行此操作,请提供任何建议。我对coffeescript不太熟悉,但以下是您想要的(可能需要修复,因为我不知道coffeescript):
_.reject返回迭代器为其返回true的任何项的新列表。在这种情况下,如果项不在排除列表中(indexOf==-1),函数将返回true,并且该项是它返回的列表的一部分。谢谢,这太好了,我只需将
返回排除。indexOf(value)=-1
更改为返回排除。indexOf(value)!=-1
这样它会列出所有其他目录。
fs.readdir "./locales", (err,locales) ->
results = []
__.reject locales, (value, index, list) ->
console.log value, index, list
results.push value
console.log results
EXCLUDE = [ 'dev', 'README.md', 'config.json' ]
results = __.reject locales, (value, index, list) ->
return EXCLUDE.indexOf(value) == -1