Javascript 如何创建函数的动态数组
我想动态初始化一组函数 示例: 转换以下代码:Javascript 如何创建函数的动态数组,javascript,angularjs,Javascript,Angularjs,我想动态初始化一组函数 示例: 转换以下代码: $filter('orderBy')(datas, [ function (obj) { return filterTable(obj, sortInfos.fields[0]); }, function (obj) { return filterTable(obj, sortInfos.fields[1]); },
$filter('orderBy')(datas,
[
function (obj) {
return filterTable(obj, sortInfos.fields[0]);
},
function (obj) {
return filterTable(obj, sortInfos.fields[1]);
},
function (obj) {
return filterTable(obj, sortInfos.fields[2]);
},
function (obj) {
return filterTable(obj, sortInfos.fields[3]);
}
],
revert);
致:
$filter('orderBy')(数据,MyArrayOfffunction,revert)代码>函数createMyFunction(sortInfoIndex){
返回函数(obj){return filterTable(obj,sortInfos.fields[sortInfoIndex]);};
}
var myArrayOfffunction=[];
对于(变量i=0;i<4;i++){
MyArrayOfffunction.push(CreateMyFunction(i))
}
$filter('orderBy')(数据、MyArrayOfffunction、revert);
不要重复你自己的问题到底是什么?我已经编辑了我的问题,我希望它是清楚的,但是我如何才能将“obj”传递给CreateMyFunction?但是我如何才能将“obj”传递给CreateMyFunctionobj
是函数的参数。所以这些函数应该这样调用:myarrayofffunction[1](myObj)
在$filter('orderBy')
中。所有接口仍然相同。我只将你的复制粘贴函数包装到数组中的createMyFunction
和for
循环。我做不到:(…你能写出所有的解决方案吗?
function createMyFuntion(sortInfoIndex) {
return function(obj) { return filterTable(obj, sortInfos.fields[sortInfoIndex]); };
}
var myArrayOfFunction = [];
for (var i = 0; i < 4; i++) {
myArrayOfFunction.push(createMyFuntion(i))
}
$filter('orderBy')(datas, myArrayOfFunction, revert);