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

时间:2016-07-27 10:46:13

标签: android listview search react-native

我的目标是使用JSON数据创建搜索ListView。 这是有效的,但我的搜索功能有一个小问题。 当我输入一个单词时,它必须是完全相同的单词,它位于ListView的数组中。 主要问题是我必须输入正确的单词。 例如:当 stackoverflow 这个词是数组的一个项目时,我必须输入 stackoverflow 才能找到这个项目。 但是,当我输入 stack flow stacko 时,我也希望获得Item。

这是我的代码:

    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) });

      }
  },

1 个答案:

答案 0 :(得分:3)

您可以使用indexOf执行此操作:

if (searchString.indexOf(ab.toLowerCase()) > -1)
{ 
     ...
}