Ссылка, затем вызов прототипа функции - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь создать массив функций для обучения алгоритму машинного обучения.Например, одна проблема, с которой я сталкиваюсь:

var fun = [String.prototype.split];
var str = 'test1&test2';
var result = str.fun[0]('&');

выдает ошибку «не могу прочитать свойство 0 неопределенного».это потому, что str не имеет массива литерала внутри себя для вызова.Единственный способ исправить это - обернуть каждую функцию, например, следующую или есть другой способ:

function splitter (str1, str2) {
  return str1.split(str2);
}
var fun = [splitter];
var str = 'test&test';
var result = fun[0](str, '&');

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

1 Ответ

0 голосов
/ 26 октября 2018
var arr = [String.prototype.split];
var str = 'test&test';
arr[0].call(str, '&');

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call

...