javascript - 编写带有 3 个条件的 if/else 语句,其中混入了 Promise
问题描述
所以我有这个有两个条件的条件语句,其中
let modItemList = this.props.items
if (this.state.searchItemName) { // condition1
modItemList = (
this.props.items.filter(
(item) => item.name.toLowerCase().indexOf(lcName) !== -1 // For name
)
);
} else if (this.state.searchItemAddress) { //condition2
modItemList = (
this.props.items.filter(
(item) => item.fullAddress.some(e => e.toLowerCase().indexOf(lcAddress) !== -1) // For Address
)
);
}
这是解释起来有点棘手的地方。
现在我想添加第三个条件,它仅在同时满足条件 1 和条件 2 时才会发生,并且结果是从条件 1 和条件 2 执行代码。
我该如何表达呢?
解决方案
我认为您只想使用两个单独的if
条件,而不是if
/ else if
:
let modItemList = this.props.items;
if (this.state.searchItemName) { // condition1
modItemList = modItemList.filter(item =>
item.name.toLowerCase().indexOf(lcName) !== -1 // For name
);
}
if (this.state.searchItemAddress) { //condition2
modItemList = modItemList.filter(item =>
item.fullAddress.some(e => e.toLowerCase().indexOf(lcAddress) !== -1) // For Address
);
}
这里没有什么是异步的,也没有涉及到 Promise。如果是这样,我建议只await
在相应的位置放置一个。
推荐阅读
- javascript - 带有csv输入的代码不起作用打字稿javascript d3
- rust - 对 Box 的使用寿命感到困惑
指导 - android - 缺少导入 com.bumptech.glide.signature.StringSignature
- multithreading - 为什么我的代码即使在关闭通道并且所有工作人员都退出后仍会出现死锁?
- javascript - 如何在 Wix 中使用 JavaScript 代码构建动态搜索表单?
- sql-server - 在 2012 版中用连字符分割 SQL 中的字符串
- android - 如何处理android快速网络库中的空响应体?
- c++ - 从节点 JS 访问用 C++ 编写的设备 SDK
- php - 每个循环中有四个数组
- python - NumPy:当类数组类中的 __array_ufunc__=None 时,某些运算符不起作用