Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Arrays Node.js-从数组中删除特定函数_Arrays_Node.js_Function_Module_Anonymous Function - Fatal编程技术网

Arrays Node.js-从数组中删除特定函数

Arrays Node.js-从数组中删除特定函数,arrays,node.js,function,module,anonymous-function,Arrays,Node.js,Function,Module,Anonymous Function,给定一个命名函数数组,如何删除除指定函数以外的所有函数?导出函数,例如exports.foo。要模拟示例,请执行以下操作: var test = []; test.push(foo = function(){}); test.push(bar = function(){}); console.log(test); 日志: 如何删除除指定功能(如bar)以外的所有功能 编辑:一些额外的上下文-我有一组插件函数,可以自动加载到数组中。作为我的摩卡测试的一部分,我希望单独测试每一个,因此希望除去指定

给定一个命名函数数组,如何删除除指定函数以外的所有函数?导出函数,例如exports.foo。要模拟示例,请执行以下操作:

var test = [];
test.push(foo = function(){});
test.push(bar = function(){});
console.log(test);
日志:

如何删除除指定功能(如bar)以外的所有功能


编辑:一些额外的上下文-我有一组插件函数,可以自动加载到数组中。作为我的摩卡测试的一部分,我希望单独测试每一个,因此希望除去指定的功能以外的所有功能。

我想问你为什么要这样做,但如果你打算这样做,我会这样做:

function deleteAllButThis(fn, arr){


  for(var i=0; i < arr.length; i++) {
     //if fn in array does NOT match fn passed in, 
     if (fn !== arr[i]) {
       arr.splice(i, 1); //remove current array item
     }
  }

  return arr;

}

如果你想单独测试每一个,我建议你复制你想要的fn并测试它。类似于'fnToTest=array.someFn'好的,明白了。我认为更好的是,我需要扩展我的主加载器类,使其更加面向测试,例如,我可以指定要加载的插件,或者全部加载。谢谢你的反馈-非常有用:是的,我认为这很有意义。
function deleteAllButThis(fn, arr){


  for(var i=0; i < arr.length; i++) {
     //if fn in array does NOT match fn passed in, 
     if (fn !== arr[i]) {
       arr.splice(i, 1); //remove current array item
     }
  }

  return arr;

}
deleteAllButThis(foo, test);