4

Google とスタック オーバーフローについて何時間もの調査を行った結果、次の JSON 構造がブール式を適切に記述しているという結論に達しました。私はアルゴリズムにそれほど熱心ではありませんが、英語 (および/または JavaScript) では、ツリーを再帰的にトラバースして式を再構築する方法を教えてください。この例では、式は次のようになります。

13 または 14 または (18 および 20 および 19)

var booleanExpression = {
    op   : 'or',
    left : {
        op  : 'or',
        left: {
            op   : 'or',
            left : {
                op   : 'literal',
                value: '14'
            },
            right: {
                op   : 'and',
                left : {
                    op   : 'and',
                    left : {
                        op   : 'literal',
                        value: '20'
                    },
                    right: {
                        op   : 'literal',
                        value: '19'
                    }
                },
                right: {
                    op   : 'literal',
                    value: '18'
                }
            }
        }
    },
    right: {
        op   : 'literal',
        value: '13'
    }
};
4

1 に答える 1