如何为任意数量的变量运行一种方法
我想知道如何为传递给函数的所有参数运行一种方法并返回它们
这是我想要实现的示例:
const getAllData = (args) =>{
args.map((arg)=> useDispatch(arg))
}
return args
并在另一个文件中调用它例如
const [var1,var2,var3] = getAllData()
或者
const allVars = getAllData([var1,var2,var3])
回答
您编写的内容非常接近 - 只需使用rest params 语法将 args 作为数组访问。下面是一个processAll版本,它可以接受一个处理函数和任意数量的变量来处理,并将返回它们。通过运行代码段查看它的实际效果。
const one = 1;
const two = 2;
const three = 3;
function processAll(processor, ...args) {
const processedArgs = args.map((arg) => processor(arg));
return processedArgs;
}
function multiplyByTwo(input) {
return input * 2;
}
const [pTwo, pFour, pSix] = processAll(multiplyByTwo, one, two, three);
console.log(pTwo, pFour, pSix);