Я пытаюсь создать массив функций, чтобы я мог обучать алгоритму машинного обучения. Одна проблема, с которой я сталкиваюсь, например:
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, '&');
Если есть еще один способ сделать это, я бы очень хотел знать, так как это сэкономит мне много времени, обертывая каждую функцию, как указано выше.
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
fun[0].call(str, '&')