使用"!"为数组中的所有字符串添加前缀的最简单方法是什么?(感叹号)在javascript中?

1 javascript arrays glob node.js minimatch

当我想要包含或排除系统文件时,我使用了两个变量(使用minimatch glob语法,!代表排除).

var systemFiles = ['node_modules/**/*', '.git/**/*'];
var ignoredSystemFiles = ['!node_modules/**/*', '!.git/**/*'];
Run Code Online (Sandbox Code Playgroud)

但这感觉有点多余.有没有一种简单的方法将systemFiles数组转换为ignoredSystemFiles数组(即:systemFiles用a 前缀所有项目!)?

我知道!systemFiles不起作用,但是这样紧凑的东西会很棒,因为它可以让我消除ignoredSystemFiles变量.

Dan*_*kin 6

你可以用它

var systemFiles = ['node_modules/**/*', '.git/**/*'];
var ignoredSystemFiles = systemFiles.map(function(el) { return '!' + el } );
Run Code Online (Sandbox Code Playgroud)