从Dart类列表中获取字符串的更有效方法
只是想在Dart中找到一种更有效的方法:从Dart类列表中获取字符串的更有效方法,dart,Dart,只是想在Dart中找到一种更有效的方法: List<String> tagStrings = List(); List<TagCategory> categories = List(); source.forEach( (content) { if (content.tagCategories != null) { categories.addAll(content.tagCategories); }
List<String> tagStrings = List();
List<TagCategory> categories = List();
source.forEach(
(content) {
if (content.tagCategories != null) {
categories.addAll(content.tagCategories);
}
},
);
categories = categories.toSet().toList(); // remove duplicates
categories.forEach(
(element) {
List<Tag> tags = element.tags;
tags.forEach(
(tag) {
tagStrings.add(tag.label);
},
);
},
);
tagStrings = tagStrings.toSet().toList();
List tagStrings=List();
列表类别=列表();
source.forEach(
(内容){
if(content.tagCategories!=null){
categories.addAll(content.tagCategories);
}
},
);
categories=categories.toSet().toList();//删除重复项
类别。forEach(
(要素){
列表标记=element.tags;
弗雷赫酒店(
(标签){
tagStrings.add(tag.label);
},
);
},
);
tagStrings=tagStrings.toSet().toList();
我有一个Trail
对象列表,其中包含一个TagCategory
对象列表,这些对象本身包含一个Tag
对象列表,该列表包含一个名为label
的字符串
属性
我正试图去除所有这些标签,以便在过滤器中使用,我需要删除重复的标签,因此黑客需要将其转换为集
,然后返回到我可以排序的列表中
最有效的方法是什么?转换到集合以避免重复是可以的 我会把它写成文字: 尝试:
var-tags=[…{for(var-tagin{for(var-content-in-source)…?content.tagCategories})
tag.label}];
然后,如果以后仍要删除标签中的重复项,您可能会担心是否真的需要删除标记类别中的重复项
如果性能是唯一的目标,那么我可能会做一些更重要的事情,比如:
var set={}
for(源中的var内容){
var categories=content.tagCategories;
如果(类别!=null){
for(分类中的var类别)set.add(category.label);
}
}
var tagStrings=set.toList();