【问题标题】:React-Native: Check if string contains stringReact-Native:检查字符串是否包含字符串
【发布时间】:2016-07-27 10:46:13
【问题描述】:

我的目标是使用 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) });

      }
  },

【问题讨论】:

    标签: android listview search react-native


    【解决方案1】:

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

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

    【讨论】:

    • 还是和for循环有关?
    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 2013-05-18
    • 1970-01-01
    • 2021-12-20
    • 2014-09-17
    • 2012-05-16
    • 2018-12-10
    • 2013-10-26
    相关资源
    最近更新 更多