Передача массива в функцию Javascript, передача только первого элемента - PullRequest
0 голосов
/ 04 августа 2020

Я использую следующий код для передачи массива переменной javascript functions

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);                                                                        
}

Это работает до некоторой степени, поскольку вызывается правильная функция и ей передаются параметры. Однако я получаю только первый элемент массива в функции, что, очевидно, является моей проблемой, поскольку мне нужны все элементы массива, а не только первый.

1 Ответ

0 голосов
/ 04 августа 2020

Используйте ... (оператор отдыха) для parse аргументов, это упростит, а также правильно передает массив.

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]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...