Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dart removeWhere()-数据去哪里?_Dart - Fatal编程技术网

dart removeWhere()-数据去哪里?

dart removeWhere()-数据去哪里?,dart,Dart,我试图在dart中编写一个函数,它接受一个字符串,该字符串中的一些单词以“#”字符开头,并将其分成两组。一个只包含“#”字符的字符串,另一个不包含“#”字符 有一些明显的方法可以通过for循环实现这一点,但我想使用这些奇特的列表处理函数(这些函数的确切名称是什么?),比如where()forEach() 这是我的尝试 void main(){ 字符串inputText=“你好,世界#你好”; inputText.split(“”)。其中((element)=>element.startsWith

我试图在dart中编写一个函数,它接受一个字符串,该字符串中的一些单词以“#”字符开头,并将其分成两组。一个只包含“#”字符的字符串,另一个不包含“#”字符

有一些明显的方法可以通过for循环实现这一点,但我想使用这些奇特的列表处理函数(这些函数的确切名称是什么?),比如where()forEach()

这是我的尝试

void main(){
字符串inputText=“你好,世界#你好”;
inputText.split(“”)。其中((element)=>element.startsWith(“#”)
.forEach((项目){
印刷品(项目);
});
inputText.split(“”).removeWhere((element)=>element.startsWith(“”);
打印(输入文本);
}
以下是程序的输出:

#至此

你好,世界#迄今为止

第一部分按预期工作,但第二部分我预期removeWhere将从我的列表中删除元素

但这并没有发生

所以我的问题是。removeWhere()方法是否正确删除了此元素?如果是,删除此元素的列表在哪里?我如何访问它

我对发生的事情的解释是split(“”)方法创建了一个列表,removeWhere()方法对这个列表进行操作,并删除了我告诉它的元素。。。但我不明白的是,我如何才能访问此列表?这个列表在哪里

我想我应该做的是这样的:

inputText.split(" ").removeWhere((element) => element.startsWith("#")).join();  

我希望我可以将包含已删除元素的列表重新连接成字符串。。。但是由于removeWhere()方法返回void。。我不知道已删除元素的列表存在于何处?

据我所知,
split()
返回一个列表,从中删除项目。由于
split()
的结果从未存储在任何位置,因此您将永远看不到结果。是
split()
会返回一个列表,我可以从中删除项目。。我想使用removeWhere()删除该项。。我很困惑,删除项目的列表会去哪里。它不会去任何地方(也就是说,很快就会被垃圾收集),因为你没有在任何地方存储对它的任何引用。试试'var newText=inputText.split(“”)。removeWhere((element)=>element.startsWith(“#”)。join();打印(新文本);。那不行。。。我得到“错误:没有为类‘void’定义方法‘join’”。是的,可以。所以我想我必须在变量中捕获列表,然后调用列表上的removeWhere。这有点令人困惑。如果removeWhere显式返回它修改过的列表,而不是隐式修改传入的列表,那么对我来说似乎更有意义。通过这种方式,您可以将事物链接到一起,而不必保存额外的变量。。