簡體   English   中英

將數組傳遞給 Javascript function 僅傳遞第一個元素

[英]Passing array to Javascript function only passing first element

我正在使用以下代碼將數組傳遞給變量 javascript 函數

function parse(fn, args)
{
     var parameters = [];

     if (args)
     {
          for (var i = 0; i < args.length; i++)
          {
               parameters.push(args[i]);
          }
     }

     fn = (typeof fn == "function") ? fn : window[fn];
     return fn.apply(this, parameters);
}

function SomeFunction(parameters)                                                                    
{
     console.log(parameters);                                                                        
}

這在一定程度上有效,因為調用了正確的 function 並將參數傳遞給它。 但是,我只收到 function 中數組的第一個元素,這顯然是我遇到的問題,因為我需要數組的所有元素而不僅僅是第一個元素。

使用... (rest 運算符) parse arguments,將簡化並正確傳遞數組。

 function parse(fn, ...parameters) { fn = typeof fn == "function"? fn: window[fn]; return fn.apply(this, parameters); } function SomeFunction(parameters) { console.log(parameters); } parse(SomeFunction, [1, 2]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM