我正在嘗試使用函式和引數執行外部輸入,在資料庫中獲取引數值并在執行函式之前更改此值,我在下面創建了一個示例來顯示我的問題
// 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.data 中放置更多值,我將需要創建 param3、param4 ...以從 InternalValues 獲取值,我如何自動從 externalValues.params 獲取所有值并讓它們執行函式?是否可以不使用一個引數發送陣列?
謝謝,我希望你能理解這個例子。
uj5u.com熱心網友回復:
傳播引數將在這里完成:
// 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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/333847.html
標籤:javascript 节点.js 数组 功能
