You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中-1的含义?React搜索过滤代码里的indexOf返回值解析

React搜索过滤逻辑中-1的含义解释

你的这段代码是通过输入框内容过滤水果列表,只保留包含搜索关键词的项。这里的-1和JavaScript的indexOf()方法直接相关:

  1. indexOf()方法的返回规则
    JavaScript里的String.prototype.indexOf()用于查找子字符串在父字符串中的首次出现位置:
  • 如果找到匹配的子字符串,返回它在父字符串中的起始索引(从0开始计数),比如"Banana".toLowerCase().indexOf("ana")会返回1
  • 如果完全找不到匹配的子字符串,就会返回-1,比如"Apple".toLowerCase().indexOf("xyz")会返回-1
  1. 代码中的作用
    return item.toLowerCase().indexOf(e.target.value.toLowerCase()) !== -1 这句话的逻辑是:
    只有当搜索关键词(输入框的值转小写后)在当前列表项(转小写后)中存在时,才将这个列表项保留到过滤结果filteredValues里。反过来,如果返回-1,说明当前列表项不包含搜索关键词,就会被过滤掉。

另外注意你代码里的一行语法错误:

console.log(item.toLowerCase().e.target.value.toLowerCase());

这里多了个点,应该改成:

console.log(item.toLowerCase(), e.target.value.toLowerCase());

内容的提问来源于stack exchange,提问作者Lucas Bennesby Lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:07:49