首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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中引入。

资源

扫码关注腾讯云开发者

领取腾讯云代金券