如何在javascript中将变量传递给过滤函数?
在这种情况下,我试图将值传递给变量"maxage":
var dateFilter = function(value,maxage) { // Age in miliseconds
if(Date.now() - value < maxage) {
return value;
} else {
return false;
}
}
dates.filter(dateFilter,500);
Run Code Online (Sandbox Code Playgroud)
如何将值传递500给过滤器maxage?
jAn*_*ndy 12
您需要调用Function.prototype.bind以创建类似于默认参数的内容.
dates.filter(dateFilter.bind( null, 500 ));
Run Code Online (Sandbox Code Playgroud)
dateFilter然后使用500PLUS" 自动传入值 " 调用回调value, index, array.
function dateFilter( customArgument, value, index, array ) {
// customArgument === 500
}
Run Code Online (Sandbox Code Playgroud)
maxage一直受到约束this.考虑以下:
var dateFilter = function(value) {
if(value < this) return value;
}
var dates = [1,2,3];
console.log(dates.filter(dateFilter,2));
> [1] // Output.
Run Code Online (Sandbox Code Playgroud)
该MDN文档显示filter签名是array.filter(callback[, thisObject])
| 归档时间: |
|
| 查看次数: |
6347 次 |
| 最近记录: |