如何自动获取要在参数中设置的值



我正在尝试执行函数和参数的外部输入,在数据库中获取参数值并在执行函数之前更改此值,我在下面创建一个示例来显示我的问题

// Values in DB
const InternalValues = {
phone: '123456789',
old: '25'
}
//Values from external inputs, when params old=param1 and phone=param2
const externalValues = {
data: `return function exec(param1,param2){
console.log("values",param1,param2)
};`,
params: ['old', 'phone'],
}
// Create a function
const Func = new Function(externalValues.data)();
//Finding ExternalParams in Internal Values manualy
const param1 = InternalValues[externalValues.params[0]]
const param2 = InternalValues[externalValues.params[1]]
// Execute Function
const ii = Func(param1, param2)
console.log(ii);

如果我在externalValues中添加了更多的值。params和externalValues。数据,我需要创建param3, param4…从InternalValues中获取值,如何从externalValues中自动获取所有值。参数,并把它们执行函数?有没有可能不发送一个参数的数组?

谢谢,我希望你能理解这个例子。

Spread arguments将在这里执行:

// Values in DB
const InternalValues = {
phone: '123456789',
old: '25'
}
//Values from external inputs, when params old=param1 and phone=param2
const externalValues = {
data: `return function exec(...params){
console.log("values", ...params)
};`,
params: ['old', 'phone'],
}
// Create a function
const Func = new Function(externalValues.data)();
//Finding ExternalParams in Internal Values
const params = externalValues.params.map(p => InternalValues[p]);
// Execute Function
const ii = Func(...params);