提问人:S.S 提问时间:5/19/2021 最后编辑:S.S 更新时间:5/19/2021 访问量:163
仅当筛选器返回布尔值 true 时才使用回调
Using a callback only when a filter returns boolean value true
问:
将 filter 函数与以下代码一起使用:
tabs = ['GP_0_Result_', 'GP_Scores', 'LGP_Scores'];
gp = [];
gp[0] = new Object();
gp[0].round = [];
gp[0].round[0] = new Object(); // gp[0].round[0].activeTabs = ['GP_0_Result_', 'SGP_Scores', 'BBC'];
gp[0].round[0].activeTabs = [];
$fn_removeTabs = function($fn_rebuildTabs){
gp[0].round[0].activeTabs = gp[0].round[0].activeTabs.filter(function(val, i){
a = (tabs.indexOf(val.substring(0,16)) == -1 ? true : false);
return a;
});
// Only call ** $fn_rebuildTabs(gp[0].round[0].activeTabs[0]); ** if true is returned from the filter;
$fn_rebuildTabs(gp[0].round[0].activeTabs[0]);
return gp[0].round[0].activeTabs;
};
$fn_rebuildTabs = function(a0){
//alert(">>>> "+gp[0].round[0].activeTabs+" | "+a0+" **** ");
a0 = gp[0].round[0].activeTabs.length;
gp[0].round[0].activeTabs.push(gp[0].round[0].activeTabs[0]);
};
我只想在从过滤器函数返回真值时使用回调。
任何帮助或建议将不胜感激。
** 是的,这是我想知道过滤功能完成后结果的行:
a = (tabs.indexOf(val.substring(0,16)) == -1 ? true : false);
理想情况下,我将留下一个变量,说明值 true 或 false;
再次感谢。
答:
0赞
gandharv garg
5/19/2021
#1
if(Array.isArray(gp[0].round[0].activeTabs) && gp[0].round[0].activeTabs.length > 0)
$fn_rebuildTabs(gp[0].round[0].activeTabs[0]);
看起来一个简单的检查就足够了
评论
activeTabs