我需要运行一个函数,它将立即检查多个值并运行作为true语句返回的所有函数。 这些值是交织在一起的,IF / ELSE不能这样做,因为它会在第一个返回true的代码处停止。 我需要它去检查是否有更多这样的IF线也可能是真的,然后运行它们。 最后,如果它运行整个选项列表并且所有返回都为false,那么它需要运行所有错误的代码行。
原因是我正在创建一个技能树。 这棵树在树上的点处分支并分支在一起。
我最好的猜测是将开关与数组相结合,但这比我编程的任何东西都要复杂,所以我不确定。 不幸的是,我发现每个使用switch的教程都会在返回一个true并运行单个函数后切换结束。
示例
如果是真正的运行功能
如果是真正的运行功能
如果误忽略
如果误忽略
如果误忽略
如果是真正的运行功能
如果误忽略
如果误忽略
如果都是假运行功能
答案 0 :(得分:0)
如果我理解正确,你想知道是否:
要么某些测试都是真的
var someTrue = ArrayOfFunctionTests.some(function(test) {
return test()
})
或每项测试均为假
var allFalse = ArrayOfFunctionTests.every(function(test) {
return !test()
})
两者都是一样的。
答案 1 :(得分:0)
var tests = [true, false, true, false], // test results
funcs = [act0, act1, act2, act3], // functions to conditionally run
allFalse = true
tests.each(function(result, index) {
if (result) funcs[index]() // conditionally run function
if (result) allFalse = false // not allFalse if any is true
})
if (allFalse) finalFunction() // final condional function