所以我想創建一個function
:陣列調用一個函數從基陣
- 這需要在一個字符串數組
- 這些字符串轉換爲功能
- 然後能從數組調用時返回功能
到目前爲止,我的代碼如下所示:
function funcArrays(stringArray){
var funcArray = [];
for(var i in stringArray){
var name = stringArray[i];
var func = new Function(
"return function(num){ return"+" "+name+"; };"
)();
funcArray.push(func());
}
return funcArray;
}
當我通過這個function
串
var strings = ['One', 'Two', 'Three', 'Four', 'Five']
然而,當我嘗試這個數組傳遞給我的函數像這樣的數組:
var functionalArrayPositionOne = funcArrays(strings)
我得到這樣的:
Uncaught ReferenceError: One is not defined at eval (eval at funcArrays (:5:14), <anonymous>:2:30) at guestListFns (<anonymous>:8:18) at <anonymous>:1:9
而我希望能夠做的是這樣的:
var functionalArrayPositionOne = funcArrays(strings)
那麼做到這一點: functionalArrayPositionOne[0]()
而且有這個返回function's
輸出
對不起,如果我錯過了,但'guestListFns(字符串)'在哪裏? –
此外,在這一行'新函數( 「返回函數(num){return」+「」+ name +「;};」 )()'你正在調用你創建的函數,所以你沒有函數 –
好的結果我改變了所有的名字 –