给定一系列命名函数,如何删除除指定函数之外的所有函数?功能导出,例如exports.foo。模拟一个例子:
var test = [];
test.push(foo = function(){});
test.push(bar = function(){});
console.log(test);
日志:
[ [Function], [Function] ]
如何删除除指定功能之外的所有功能,例如酒吧?
编辑:一些额外的上下文 - 我有一组插件(函数)自动加载到一个数组中。作为我的Mocha测试的一部分,我希望单独测试每一个,因此想要删除除指定函数之外的所有函数。
答案 0 :(得分:0)
我将质疑您为什么要这样做,但如果您已经开始这样做,我就是这样做的:
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);