Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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在数组过滤器中嵌套for循环_Javascript - Fatal编程技术网

javascript在数组过滤器中嵌套for循环

javascript在数组过滤器中嵌套for循环,javascript,Javascript,我正在解决一个问题,遇到了一个有趣的问题。我正在尝试按参数筛选数组(我事先不知道会有多少个参数)。所以我函数的第一个参数总是一个数组,后面是我需要过滤掉的随机数 我想我可以通过在我的filter函数中嵌套for循环来解决这个问题,但到目前为止,它只根据第一个参数进行过滤,而忽略了第二个参数。这是因为使用了返回false/true?如果是,我可以用什么来代替 功能销毁程序(arr){ var输出=[]; for(变量y=1;y

我正在解决一个问题,遇到了一个有趣的问题。我正在尝试按参数筛选数组(我事先不知道会有多少个参数)。所以我函数的第一个参数总是一个数组,后面是我需要过滤掉的随机数

我想我可以通过在我的filter函数中嵌套for循环来解决这个问题,但到目前为止,它只根据第一个参数进行过滤,而忽略了第二个参数。这是因为使用了
返回false/true
?如果是,我可以用什么来代替

功能销毁程序(arr){
var输出=[];
for(变量y=1;y驱逐舰([1,2,3,1,2,3],2,3)请将
return true
移动到函数末尾,因为只有在找到不需要的值时,for循环才会停止

功能销毁程序(arr){
var输出=[];
for(变量y=1;y写(破坏者([1,2,3,1,2,3],2,3))这比需要的复杂得多。这在更少的代码行中实现了同样的功能,我认为它更显式,更易于阅读

function destroyer(arr) {
  // get all the arguments after the initial array
  var output = Array.prototype.slice.call(arguments, 1);
  // filter the output
  return arr.filter(function destroy(value) {
    // only return the numbers that aren't in the output array
    return output.indexOf( value ) < 0;
  });
  // profit.
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);
功能销毁程序(arr){
//获取初始数组后的所有参数
var输出=Array.prototype.slice.call(参数,1);
//过滤输出
返回arr.filter(函数销毁(值){
//只返回不在输出数组中的数字
返回输出。indexOf(值)<0;
});
//利润。
}
驱逐舰([1,2,3,1,2,3],2,3);