在 Javascript 中循环使用参数的过滤器
Looping through a filter with arguments in Javascript
>我试图使用函数的其他参数过滤函数的第零个参数。循环和过滤器函数似乎在工作,但问题似乎是循环没有完全循环。我不确定在这种情况下发生了什么。这是代码:
function destroyer(arr) {
var args = Array.from(arguments);
args.shift();
function destroyer(value) {
for (i = 0; i <= args.length; i++) {
return value != args[i];
}
}
return arguments[0].filter(destroyer);
}
destroyer([1, 2, 3, 1, 2, 30], 2, 3);
输出为 [1, 3, 1, 30]
。
尝试这样做:
function destroyer(arr) {
var args = Array.from(arguments);
args.shift();
function destroyer(value) {
for (i = 0; i <= args.length; i++) {
if(value == args[i])
return false; //If element is found, don't return
}
return true; //Element not found in args
}
return arguments[0].filter(destroyer);
}
destroyer([1, 2, 3, 1, 2, 30], 2, 3);
编辑:为什么你的方法不起作用?
问题出在这一部分:
问题出在您的退货声明中。
for (i = 0; i <= args.length; i++) {
return value != args[i];
}
这将在看到将数组中的值与 args 数组中的第一个值进行比较时立即返回布尔值,即它仅与第一个值进行比较。
相关文章:
- 角度限制过滤器's的第二参数“s”;“开始”;在Angular 1.3中似乎不起作用
- 如何在 AngularJS 中的过滤器中使用参数
- 在 Javascript 中循环使用参数的过滤器
- 过滤器函数的 JavaScript 函数参数
- 角度JS:$index类似过滤器的参数
- 从过滤器传递值作为角度中 js 函数的参数
- 过滤器 AngularJS REST JSON 数据:错误:badcfg 响应与配置的参数不匹配
- 具有多个参数的 AngularJS 表达式过滤器
- AngularJS嵌套ng-repeat过滤器多个参数
- 主干过滤产品在每个类别中(过滤器参数将是类别名称)
- 使用QUnit的多个过滤器url参数
- 自定义AngularJS过滤器忽略我的参数并接收一些其他scope.data
- servlet过滤器中的静态资源版本控制(添加一个额外的GET参数)
- AngularJS ng重复过滤器根据作用域有两个不同的参数
- 在Soundcloud Javascript SDK中,如何正确发送'过滤器'参数设置为'/曲目&
- _changes API不能在Couchbase Lite上使用过滤器和视图参数
- 如何使Rails过滤器从序列化参数中分离解析JSON字符串
- 如何在angular js中向自定义过滤器传递两个参数
- 我如何使用链和过滤器与多个参数的过滤器
- 在Typescript中传递一个表达式作为过滤器函数的参数