我正在为我们的项目开发Checkstyle,但是遇到了无法解决的问题。
我需要检查是否在花括号内定义了一些数组元素的空白(在括号和元素之间)。
赞:
const obj1 = [{ext: '1287',ip: '(Unspecified)',queue: []}];
const obj2 = [{Queue: '222',Members: [{"ext":"1287"},{"ext":"4118"}],Callers: []},{Queue: '111',Members: [{"ext":"4131"},{"ext":"1287"},{"ext":"4138"}],Callers: []}];
const hasExt = ext => o2 => o2.Members.some(m => m.ext === ext)
const result = obj1.map(o1 => {
const newQueue = obj2
.filter(hasExt(o1.ext))
.map(m => m.Queue);
return { ...o1, queue: [...o1.queue, ...newQueue] };
})
console.log(result);
如果不存在,它将引发违规。
我是Checkstyle的新手,但找不到任何好的方法。
答案 0 :(得分:0)
对于大多数没有直接检查规则的问题,您将可以(稍作努力)设置Checkstyle的正则表达式规则之一。
对于显示的情况,例如\{\s
和\s\}
,这可能来自琐碎的正则表达式,但可能变得更复杂,例如如果您有足够的元素在代码中包含换行符。同样,显示的琐碎规则也可能会在其他地方突出显示代码,而不是本来就没有。因此,需要使用正则表达式的知识来设置这些规则。
BTW:如果可能的话,我会使用Eclipse(或您使用的任何IDE)格式化程序解决此类间距问题。可以很容易地将其配置为在代码中的不同位置省略或放置空格。