我想在列表映射中包含逻辑。例如:
我可以这样做:
List projects = urls.map((url) => url.substring(0, 3)).toList();
但是我能以某种方式做这样的事情:
List projects = urls.map((url) {
if (url.indexOf("?") == -1) {
url;
} else {
url.substring(0, url.indexOf("?"));
}
}).toList();
答案 0 :(得分:4)
当然可以。缺少的是return
声明
使用短函数格式(=>
)return
是隐式的,并返回表达式的结果。如果使用功能块格式,则必须显式返回结果中要包含的值。如果没有明确的return
null
,则会返回。
List projects = urls.map((url) {
if (url.indexOf("?") == -1) {
return url;
} else {
return url.substring(0, url.indexOf("?"));
}
}).toList();