【问题标题】:search List and remaining word in the list in dart在 dart 中搜索列表和列表中的剩余单词
【发布时间】:2021-11-24 14:12:30
【问题描述】:
void main(){
List<String> topics = [
  'Photography',
  'News',
  'Facts',
  'How-to',
  'Technology',
  'Science',
  'Space',
];
  
 var text='tech';
 var _searchResult = topics.where(
                    (topics) => (topics.contains(text) || 
                    topics.toLowerCase().contains(text))
                );
  
 print(_searchResult.toString());
}

我有一个大约 50-60 个单词的列表。如果我搜索“技术”,它将显示“技术”,但我也想要剩余的词(像那样)......

Technology
Photography
News
Facts
How-to
Science
Space

【问题讨论】:

    标签: list flutter dart search


    【解决方案1】:

    你可以使用这个技巧。

    final result = {..._searchResult, ...topics}.toList();

    它会创建一个地图,将您的过滤值首先放入其中。地图会删除重复项并生成完整列表。

    完整代码

    List<String> topics = [
      'Photography',
      'News',
      'Facts',
      'How-to',
      'Technology',
      'Science',
      'Space',
    ];
    
    void main() {
      final text = 'tec';
      final _searchResult = topics
          .where((i) => i.toLowerCase().contains(text.toLowerCase()))
          .toList();
    
      final result = {..._searchResult, ...topics}.toList();
      
      print(result); // [Technology, Photography, News, Facts, How-to, Science, Space]
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多