javascript - 下划线 _.each 和 grunt

标签 javascript angularjs gruntjs underscore.js

当我使用下划线库时,我从 Grunt 收到警告:

let userId = 502;
let member = _.find($scope.data.userReports, function (member) {
     return member.person.id === userId;
});

不要在循环中创建函数。

当我尝试纠正这种情况时,我没有从下划线获取成员(未定义,但成员也没有传递到 checkUserFunction)。

let userId = 502;
var member = _.find($scope.data.userReports, checkUserFunction(member, userId));

let checkUserFunction = (member, dataKey) => {
    if(parseInt(member.person.id) === parseInt(dataKey)){
        return true;
    }
    return false;
};

最佳答案

你的问题是你是这样调用 find 的:

_.find($scope.data.userReports, checkUserFunction(member, userId));

当你应该这样调用它时:

_.find($scope.data.userReports, checkUserFunction);

通过在传入 checkUserFunction 时包含大括号,您并不是在传递函数,而是在传递函数的返回 值。 另外,find 的谓词只接受一个参数,所以我认为您需要的更像这样:

let userId = 502;
var member = _.find($scope.data.userReports, checkUserFunction);

let checkUserFunction = (member) => {
    return parseInt(member.person.id) === userId;
};

关于javascript - 下划线 _.each 和 grunt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41740316/

相关文章:

javascript - 另一个 Angular 指令函数不传递参数

javascript - 为什么 grunt-contrib-imagemin 将 PNG 减少 80%,但 JPG 仅减少 <0.1%?

javascript - 配置 Gulp 以反射(reflect) css 更改

javascript - 在 Bootstrap 可折叠侧边栏导航中添加 Cookie

javascript - Angular Material 和 meteor 的控制台错误

node.js - npm install 给出错误 : EPERM, 取消链接

javascript - 使用 grunt 和wiredep 构建应用程序时更改库文件

javascript - 如何制作不可点击区域?

javascript - Laravel:我在使用 Ajax 发布数据时遇到一些问题

javascript - 是否可以缓存/存档整个 Web 文档(包括 DOM 的精确状态)并稍后重新加载?