首页 > 解决方案 > 无法根据反应网络应用程序中的过滤器值进行搜索

问题描述

let tempArry = Data.filter(
    (item) => item.shipmentNumber.includes(props.dataToTable) 
    )

输入框:578 预期结果:5788976641、578897664、5788976643

输入框:578 实际结果:5788976648、578897587、7858976578

我正在过滤一组对象,这些对象通过 shippingNumber 从输入框中传递过滤器值,检查预期和实际结果。

标签: javascriptreactjsecmascript-6

解决方案


您应该使用 indexOf 而不是包含。因为如果字符串存在于测试字符串中,则 include 返回 true。不管是什么职位。您需要找到 subString 的索引,并查看索引是否为 0。这意味着 subString 在字符串的开头。

let tempArry = Data.filter(
(item) => item.shipmentNumber.indexOf(props.dataToTable) === 0
)

推荐阅读