Javascript 从下划线循环中断,并出现lint问题
下面是一段代码,它试图在找到结果后通过返回true来中断循环Javascript 从下划线循环中断,并出现lint问题,javascript,angularjs,underscore.js,jslint,gulp-eslint,Javascript,Angularjs,Underscore.js,Jslint,Gulp Eslint,下面是一段代码,它试图在找到结果后通过返回true来中断循环 ngModel.$parsers.unshift(function (viewValue) { let names = scope.vm.names; _.find(names, function (elem) { let name = elem.name;
ngModel.$parsers.unshift(function (viewValue) {
let names = scope.vm.names;
_.find(names, function (elem) {
let name = elem.name;
if (name && viewValue) {
if (name.toLowerCase() === viewValue.toLowerCase()) {
ngModel.$setValidity('unique', false);
return true; // break out of this loop
} else {
ngModel.$setValidity('unique', true);
}
}
});
return viewValue;
});
代码按照预期工作得非常好,但lint抛出的错误如下:
× Unnecessary 'else' after 'return'. (no-else-return)
27 | ngModel.$setValidity('unique', false);
28 | return true; // break out of this loop
29 | } else {
| ^
30 | ngModel.$setValidity('unique', true);
31 | }
32 | }
如何抑制此错误,或者是否有方法编写更好的代码来消除此错误?要解决lint警告,可以使用以下代码
if (name && viewValue) {
let equal = name.toLowerCase() === viewValue.toLowerCase();
ngModel.$setValidity('unique', !equal);
if (equal) {
return true; // break out of this loop
}
}
要设置
唯一
状态,使用布尔值,如果这是真的,则从如果
,返回真
。绝对是天才,工作起来很有魅力。谢谢@Tushar