javascript - 无法根据反应网络应用程序中的过滤器值进行搜索
问题描述
let tempArry = Data.filter(
(item) => item.shipmentNumber.includes(props.dataToTable)
)
输入框:578 预期结果:5788976641、578897664、5788976643
输入框:578 实际结果:5788976648、578897587、7858976578
我正在过滤一组对象,这些对象通过 shippingNumber 从输入框中传递过滤器值,检查预期和实际结果。
解决方案
您应该使用 indexOf 而不是包含。因为如果字符串存在于测试字符串中,则 include 返回 true。不管是什么职位。您需要找到 subString 的索引,并查看索引是否为 0。这意味着 subString 在字符串的开头。
let tempArry = Data.filter(
(item) => item.shipmentNumber.indexOf(props.dataToTable) === 0
)
推荐阅读
- java - 为什么我会收到“来自注册表 minecraft:block 的未知映射”?
- ios - 本地 UNNotificationRequest 的调度限制
- sql - 从 SQL 到 Spring 的降序从列表中提取第一个(Top)结果
- sql - 将单列转换为多行
- java - 在中缀到后缀转换期间运算符更改为 int
- python - Python beautifulsoup4 库 find_all() 函数问题
- javascript - 使用 Sinon.js 存根 performance.now()
- php - Symfony 通过 JSON 文件运行
- kotlin - 如何测试lateinit var是否从类外初始化?- 科特林
- php - Angular Laravel JWT 获取经过身份验证的用户