当我使用下划线库时,我从 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/