我正在尝试制作一系列函数,以便我可以训练机器学习算法。我遇到的一个问题,例如:
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, '&');
如果有另一种方法可以实现,我真的很想知道,因为它可以节省很多时间来包装上述每个函数。
答案 0 :(得分:0)
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