Инструмент для рефакторинга [закрытых] булевых выражений

Давайте сначала превратим array1 в объект, который отображает идентификаторы на соответствующие объекты:

var idMap = {}
array1.forEach(function(element) {
    idMap[element.id] = element
})

Затем вы можете получить желаемый результат, выполнив

var result = array2.map(function(id) {
    return idMap[id]
});
6
задан Toon Krijthe 20 April 2009 в 08:54
поделиться

2 ответа

I'm not sure about a tool but take a look at Boolean Algebra

you can draw a grid of all the inputs and output to try and find a minimal boolean expression

1
ответ дан 17 December 2019 в 18:19
поделиться

Программное обеспечение программного обеспечения DMS может сделать это.

Это генерализованная технология компилятора для анализа языков (включая Java) к ASTS и символьные таблицы. DMS также предоставляет преобразования источников и источников, а также ассоциативный и коммутативный закон об переписке.

Ваши логические выражения появятся как деревья выражения Java AST. Предоставляя набор правил о булевой алгебре, вы можете манипулировать эти деревья выражений.

Мы сделали это в прошлом, чтобы провести упрощение и преобразование булевой экспрессии для C, RLL и систему диагностических уравнений, как по широкомасштабному выражениям, так и на множестве выражений среднего масштаба (масштабируется как ваш пример).

Отредактировать 5/19/2010: см. Пример пример обычных преобразований алгебры с использованием DMS. Его тривиально построить вариант, который вместо этого делает логический алгебр.

1
ответ дан 17 December 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: