问题标签 [flatmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 涉及 flatMap 时 Scala 中的尾递归
我必须使用一个结构,该结构需要递归地在另一个列表中的一个列表上进行迭代(这种结构类似于从事务列表中创建频繁项时使用的结构)。下面是伪代码。
我收到一个错误,说下面的 iterRecur 不是尾递归的。尾递归错误指向下面的 flatMap 行seqElem <- this.mySeq
你能建议我如何修复代码吗?
android - 使用 RxJava 和 Retrofit 2 登录成功后做一些事情
我实现了网络调用来验证登录,它工作正常。登录成功后,我在再次调用以获取用户数据时遇到了一些麻烦。
这是 API 调用:
------------- 编辑#1 -------------
我实现了@Tassos 的建议,如下所示:
在订阅方法上这样做是否正确?我需要转换 onNext 的 Object 结果吗?
//------------------------------------------------ ---------------------------------------//
我想在登录成功后,使用通过响应对象 User 获得的令牌调用另一个 url,并将其Observable<Response<Object>> getData(@Header("Authorization") String token);
作为 Header 的授权发送到另一个 api 调用()。我曾尝试使用 flatMap 和 zip,但我无法完成这项任务。
有什么建议吗?这个概念对我来说是新的。
functional-programming - 为什么绑定会使列表变平?
我想知道,你说那flatMap
是monad的bind
方法。bind 方法接受一个将 monad 包含的项目映射到另一个 monad 的函数。这是如何
给了我另一个内部的单子f(item)
。但是,应用于 List 意味着什么?通过简单的扩展,如果您将每个 List 项目映射到一个 (list) monad,您将获得整个列表列表。为什么bind
在应用于列表时会展平结果?
java - 如何在 Scala 中使用 flatMap 来对一组“vals”进行分组
我是 scala 的新手,只是创建了一些示例来更好地理解它。我似乎无法在这里解决这个问题——我在我的 java 程序中创建了一个字符串列表并在我的 scala 程序中使用这个列表。我从 java 类中读取列表的 scala 代码看起来像这样。
stringList 包含
我试图找到一种方法将这些字符串添加到名为 a、b 和 c 的值中,以便以后可以将它们作为参数传递给另一个函数。
但这不起作用。我给我一个错误说
我不使用为什么会发生这种情况。有人可以告诉我我在这里做错了什么吗?
如果代码看起来很脏,我很抱歉,但我是初学者,仍在努力理解这门语言。任何帮助表示赞赏。先感谢您。
java - Spark flatMap/reduce:如何扩展和避免 OutOfMemory?
我正在将一些 map-reduce 代码迁移到 Spark 中,并且在构造 Iterable 以在函数中返回时遇到问题。在MR代码中,我有一个按键分组的reduce函数,然后(使用multipleOutputs)将迭代这些值并使用write(在多个输出中,但这并不重要)像这样的一些代码(简化):
但是,在 Spark 中,我已将地图翻译为以下序列:mapToPair -> groupByKey -> flatMap 推荐...在某些书中。
mapToPair 基本上是通过 functionMap 添加一个 Key,它基于记录上的一些值为该记录创建一个 Key。有时键可能具有非常高的基数。
rddPaired被应用一个RDD.groupByKey () 来获取 RDD 来提供 flatMap 函数:
分组后,调用 flatMap 来执行reduce。在这里,操作是一种转换:
它工作正常......使用没有太多记录的键。实际上,当具有大量值的键在 reduce 上输入“else”时,它会被 OutOfMemory 打破。
注意:我已经包含了“if”部分来解释我想要产生的逻辑,但是在输入“else”时会发生失败......因为当数据进入“else”时,通常意味着会有更多的值由于数据的性质。
很明显,必须将所有分组值保留在“out”列表中,如果一个键有数百万条记录,它将无法扩展,因为它将它们保留在内存中。我已经到了发生 OOM 的地步(是的,它是在执行上面要求内存的“操作”时 - 并且没有给出。虽然这不是一个非常昂贵的内存操作)。
有没有办法避免这种情况以扩大规模?要么通过使用其他指令复制行为以更可扩展的方式达到相同的输出,要么能够将值交给 Spark 进行合并(就像我过去对 MR 所做的那样)......
scala - Apache Spark - Scala - 如何将 (k, {v1,v2,v3,...}) 映射到 ((k,v1),(k,v2),(k,v3),...)
我懂了:
想转换为:
任何想法如何使用flatMap
.
arrays - 如何快速获取字典中特定对象的索引
我正在Dictionary Array
以这种方式搜索键的值。
但是我想做的是获取这个result
包含对象的索引。
我怎样才能做到这一点?
apache-spark - Scala平面图通过循环中的火花保存到cassandra
我有一个循环,Names{Real Test!, Real Test1!}
里面有循环抛出天(这里作为示例迭代只有 1 天),在这个循环中对数据进行一些操作,然后我 flatMap RDD(有 2 行)到 5 行的 RDD。它给了我collect().foreach(println)
这个:
对于名字 - 和
第二。当我尝试saveToCassandra
循环中的所有 5 行时 - 在 DB 中,我只有最后几行 flatMap。
为什么它只保存了 flatMap 的最后一行,以及如何保存所有 5 行?
powershell - Flatmap equivalent in PowerShell
This returns a list of all coffee script files in my project.
How can I transform this into a single list where the .coffee
part is converted to .js
and .js.map
?
Example pseudocode output:
swift - Swift:flatMap 到字典
我正在尝试解析以下 JSON:
我也在关注本教程。它在 Playground 的 Github 上
在示例中,他们正在Array
使用typealias JSONDictionary = [String: AnyObject]
我需要解析一个Dictionary
具有Key
哪个是的String
,Value
那是一个Array
。因此:typealias JSONDictionary = [String: [AnyObject]]
并且在返回flatMap
.
错误:
如何获得带有Keys
asString
和Values
as an的字典Array
?我想保持他们的Generic
做法。