簡體   English   中英

Javascript:執行多個真實函數的最佳選擇是什么?

[英]Javascript: What is the best option to execute multiple true functions?

我需要運行一個函數,該函數將一次檢查多個值,並運行所有以true語句返回的函數。 這些值交織在一起,IF / ELSE無法做到這一點,因為它停止在返回true的第一個代碼處。 我需要將其放下的地方,檢查是否有更多這樣的IF線也適用,然后也運行它們。 最后,如果它運行選項的整個列表,並且所有選項都返回為false,則它需要運行全部為false的代碼行。

原因是我正在創建技能樹。 這棵樹分支出來,並沿着樹的各個點一起分支。

我最好的猜測是將開關與數組結合起來,但這比我編寫的任何程序都要復雜,因此不確定。 不幸的是,我找到的每個使用switch的教程在返回一個true並運行一個函數之后,都會以switch結尾。


IF真運行功能
IF真運行功能
如果錯誤忽略
如果錯誤忽略
如果錯誤忽略
IF真運行功能
如果錯誤忽略
如果錯誤忽略
如果所有都是假運行功能

如果我理解正確,那么您想知道是否:

有些測試是正確的

var someTrue = ArrayOfFunctionTests.some(function(test) {
    return test()
})

或每項測試都是錯誤的

var allFalse = ArrayOfFunctionTests.every(function(test) {
    return !test()
})

兩者都相同。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM