【发布时间】:2021-12-12 13:08:14
【问题描述】:
我正在尝试优化 Pug/Node.js/Express 中的循环语句,如下所示。 简单地说,我从数据库中读取状态数据(“portMap2 中的每个端口映射”),然后检查 st1、st2、st3、...、st12 的值以选择一个合适的徽章,该徽章将显示在表格的单元格中。 问题是表格有 7 组状态数据,每组有 12 个单元格。 我怎样才能优化这个循环?有没有比 if-else_if-else 语句更好的方法?
.row.row-cols-12
each portmap in portMap2
.col
if (portmap.st1 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st1 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st1 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st2 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st2 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st2 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st3 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st3 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st3 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st4 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st4 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st4 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st5 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st5 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st5 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st6 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st6 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st6 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st7 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st7 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st7 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st8 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st8 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st8 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st9 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st9 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st9 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st10 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st10 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st10 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st11 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st11 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st11 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
.col
if (portmap.st12 == 0)
span.badge.badge-pill.badge-success Good
else if (portmap.st12 == 1)
span.badge.badge-pill.badge-danger Bad
else if (portmap.st12 == 2)
span.badge.badge-pill.badge-secondary Excluded
else
span.badge.badge-pill.badge-light Disconnected
【问题讨论】:
标签: node.js sqlite express conditional-statements pug