array-callback-return
Array
有几种过滤,映射和折叠的方法。如果我们忘记return
在这些回调中写入语句,那可能是一个错误。
// example: convert ['a', 'b', 'c'] --> {a: 0, b: 1, c: 2}
var indexMap = myArray.reduce(function(memo, item, index) {
memo[item] = index;
}, {}); // Error: cannot set property 'b' of undefined
return
规则强制在数组方法的回调中使用语句。
规则细节
规则查找以下方法的回调函数,然后检查return
语句的用法。
- 以上类型的数组。
规则的错误代码示例:
/*eslint array-callback-return: "error"*/
var indexMap = myArray.reduce(function(memo, item, index) {
memo[item] = index;
}, {});
var foo = Array.from(nodes, function(node) {
if (node.tagName === "DIV") {
return true;
}
});
var bar = foo.filter(function(x) {
if (x) {
return true;
} else {
return;
}
});
规则的正确代码示例:
/*eslint array-callback-return: "error"*/
var indexMap = myArray.reduce(function(memo, item, index) {
memo[item] = index;
return memo;
}, {});
var foo = Array.from(nodes, function(node) {
if (node.tagName === "DIV") {
return true;
}
return false;
});
var bar = foo.map(node => node.getAttribute("id"));
已知限制
规则检查具有给定名称的方法的回调函数,即使具有该方法的对象不是数组。
何时不使用它
如果您不想在数组方法的回调中警告使用return
语句,那么禁用此规则是安全的。
Version
规则在ESLint 2.0.0-alpha-1中引入。
资源
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com