[英]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.