List 对象查询并删除dart、FLATTER中的括号
喂?我正在使用颤振提供者模式构建一个应用程序。我创建了一个查询值的过程在对象内部。我的模型dart文件中也有数据 检查下面的代码List 对象查询并删除dart、FLATTER中的括号,list,flutter,dart,where-clause,flutter-provider,List,Flutter,Dart,Where Clause,Flutter Provider,喂?我正在使用颤振提供者模式构建一个应用程序。我创建了一个查询值的过程在对象内部。我的模型dart文件中也有数据 检查下面的代码 List<Device> _devices = [ Device(one: 'apple', two: 'iphone'), Device(one: 'samsung', two: 'galaxy') ]; String Query(String value) { return _media.where((medium) =
List<Device> _devices = [
Device(one: 'apple', two: 'iphone'),
Device(one: 'samsung', two: 'galaxy')
];
String Query(String value) {
return _media.where((medium) => medium.one == value)
.map((medium) => (medium.two)).toString();
Query("apple")
List\u设备=[
设备(一个是“苹果”,两个是“iphone”),
设备(一个“三星”,两个“银河”)
];
字符串查询(字符串值){
返回_media.where((media)=>media.one==值)
.map((medium)=>(medium.two)).toString();
查询(“苹果”)
因此,当我调用该函数时,我希望返回
iphone
。但是结果是(iphone)
。事实上我知道原因。毕竟,返回的数据是列表类型。但我想要的是通过只返回查询列表中的第一个值(意味着只返回查询列表,而不是完整列表)来删除括号。换句话说,我想接收iphone
,而不是(iphone)
。目前,我正在使用子字符串
删除第一个和最后一个单词,这似乎有一些限制。有没有办法删除该逻辑中的括号?您有括号,因为您正在调用列表中的.toString()
:
return\u media.where((media)=>media.one==value)
.map((中)=>(中二))
.toString();
要仅返回.two
或第一个找到的对象,只需执行以下操作:
return\u media.firstWhere(
(medium)=>medium.one==value,或else:()=>null)?.two;
这将返回第一个找到的对象的.two
值,如果没有找到,则返回null
Doc:谢谢。firstWhere似乎只接受一个参数。我尝试删除第二个参数,但只得到--Bad state:无元素--error.issue,通过更改…返回(u media.firstWhere((media)=>media.one==value,或lse:()=>null)?。二;