在 dart 中搜索列表和列表中的剩余单词
Posted
技术标签:
【中文标题】在 dart 中搜索列表和列表中的剩余单词【英文标题】:search List and remaining word in the list in 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
【问题讨论】:
【参考方案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]
【讨论】:
请添加3个点的引用,以便他清楚地理解操作...
称为扩展运算符。你可以在这里找到更多关于它的信息。 dart.dev/guides/language/language-tour#spread-operator以上是关于在 dart 中搜索列表和列表中的剩余单词的主要内容,如果未能解决你的问题,请参考以下文章