Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将值传递给javascript数组过滤器?_Javascript - Fatal编程技术网

是否将值传递给javascript数组过滤器?

是否将值传递给javascript数组过滤器?,javascript,Javascript,在javascript中,如何将变量传递给过滤器函数 在本例中,我试图将一个值传递给变量“maxage”: var-dateFilter=function(value,maxage){//Age(毫秒) if(Date.now()-value

在javascript中,如何将变量传递给过滤器函数

在本例中,我试图将一个值传递给变量“maxage”:

var-dateFilter=function(value,maxage){//Age(毫秒)
if(Date.now()-value

如何将值
500
作为
maxage
传递给过滤器?

您需要调用
函数.prototype.bind
来创建类似于默认参数的内容

dateFilter
回调随后将使用
500
加上“自动传入值”
值、索引、数组
进行调用

function dateFilter( customArgument, value, index, array ) {
    // customArgument === 500
}

也许没有必要把事情复杂化,试试简单的方法:

var maxage = 500,
    newDates = dates.filter(function(value) {
        return Date.now() - value < maxage;
    });
var maxage=500,
newDates=dates.filter(函数(值){
返回日期.now()-值
maxage
已绑定到此
上。考虑以下事项:

var dateFilter = function(value) {
  if(value < this) return value;
}
var dates = [1,2,3];
console.log(dates.filter(dateFilter,2));
> [1] // Output.
var dateFilter=函数(值){
if(value[1]//输出。

显示
过滤器
签名为
数组。过滤器(回调[,thisObject])

我正试图将500作为变量maxage传递给过滤器。您已将其转过来。绑定参数是第一个,其他参数在后面传递。像这样:
函数dateFilter(customArgument、value、index、array){
@iAtelazy:我说了没有吗?我什么都没听到…;-)
var maxage = 500,
    newDates = dates.filter(function(value) {
        return Date.now() - value < maxage;
    });
var dateFilter = function(value) {
  if(value < this) return value;
}
var dates = [1,2,3];
console.log(dates.filter(dateFilter,2));
> [1] // Output.