这可能已经被回答了多次,但是我找不到任何好的答案。我可能不是在寻找正确的东西。

我有许多复选框返回“ on”或“ off”。

req.query返回这些复选框。

如果它们处于“打开”状态,我想将该特定的键/值对推送到一个数组,以供以后在mongoDB中的查询中使用。我知道我可以使用Object.entries(req.query)遍历它们,但是我只想知道是否可能有另一种方法,例如下面的示例。

let checkboxCol = [];
if (checkboxa, checkboxb, checkboxc, checkboxd) {
    checkboxCol.push(/* any checkbox that is "on" */);
}

最佳答案

使用filter

let checkboxCol = Object.values(req.query).filter(({ isOn }) => isOn);


如果您的属性被称为其他属性,请将其交换为isOn,如果该值不是布尔值,则添加一个比较运算符-看起来可能像这样:

let checkboxCol = Object.values(req.query).filter(({ on }) => on == "on");

10-08 00:52