在此列表中,我想显示所有包含此特定名称的项目。
我的列表项目:['us','sg','us']
print(list.contains("US"));
使用.contains((返回我是一个真或错误,但它不会返回包含它的字符串列表。我只想从列表中提取具有"我们"的项目。在这种情况下,有两个。请帮助!
您可以尝试以下方式尝试 -
List<String> myList = ['US', 'SG', 'US'];
print(myList.where((item) => item.contains("US")));
您也可以通过以下方式直接显示在Text
小部件中 -
Text(
myList.where((item) => item.contains("US")).join(" "),
//The join function joins the elements of the Iterable into a single string with the separator provided as an argument.
),
希望这会有所帮助!
更新:
要单独显示每个单词作为列表,您可以以以下方式在Column
中显示它们 -
Column(
children: myList.map((value) {
if(value.contains("US")){
return Text(value,);
} else {
return Container();
//Return an empty Container for non-matching case
}
}).toList(),
)
如果您希望它可以滚动,则可以在ListView
而不是Column
中使用同一件事。
类似的东西?
var myList = ['US', 'SG', 'US'];
myList.forEach((w){
if(w == "US")
print(w);
});
显示:
class SO extends StatelessWidget {
var myList = ['US', 'SG', 'US'];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisSize: MainAxisSize.min,
children: myList.where((w) => w == "US").map((w) => Text(w)).toList(),
),
);
}
}
或用于单行显示的使用,Text
而不是上面提到的Column
小部件
Text(myList.where((w) => w.contains("US")).join(" "))
如果您使用的是" List.Contains"。它仅显示列表是否存在,如果要打印要使用的值,请如下:
:
var fruits = [‘banana’, ‘pineapple’, ‘watermelon’];fruits.forEach((fruit) => print(fruit)); // => banana pineapple watermelon
如果您只想打印香蕉,则可以使用此
var fruits = [‘banana’, ‘pineapple’, ‘watermelon’];fruits.(fruit) => print(fruit[0]); // => banana