React-Native:检查字符串是否包含字符串

pro*_*_98 5 search android listview react-native

我的目标是用 JSON 数据创建一个搜索 ListView。这是有效的,但我的搜索功能有一个小问题。当我输入一个单词时,它必须与 ListView 的 Array 中的单词完全相同。主要问题是我必须输入正确的单词。例如:当单词stackoverflow是Array 的一项时,我必须输入stackoverflow才能找到此项。但是,例如,当我输入stackflowstacko时,我也想获得该项目。

这是我的代码:

    filterDatasource(event)
  {
      var searchString = event.nativeEvent.text.toLowerCase();
      if (searchString != "")
      {

          var content = this.state.loadedContent;
          var searchResultsArray = [];

          for (var i = 0; i < content.length; i++) {


            var detailArray = content[i];
            const gattung = detailArray.Gattung;
            const zugnummer = detailArray.Zugummer;
            const ab = detailArray.ab;
            const bis = detailArray.bis;
            const wochentag = detailArray.Wochentag;
            const zeitraum = detailArray.Zeitraum;


            if (searchString.contains(ab.toLowerCase())) //searchString.indexOf(ab) >= 0
            {

                //alert('gefunden');
                searchResultsArray.push(detailArray);
                this.setState({ dataSource: ds.cloneWithRows(searchResultsArray) });

            }


          }

      }
      else {

        this.setState({ dataSource: ds.cloneWithRows(this.state.loadedContent) });

      }
  },
Run Code Online (Sandbox Code Playgroud)

bab*_*aba 7

你可以像这样使用 indexOf 做到这一点:

if (searchString.indexOf(ab.toLowerCase()) > -1)
{ 
     ...
}
Run Code Online (Sandbox Code Playgroud)