问题标签 [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.

0 投票
0 回答
545 浏览

scala - 涉及 flatMap 时 Scala 中的尾递归

我必须使用一个结构,该结构需要递归地在另一个列表中的一个列表上进行迭代(这种结构类似于从事务列表中创建频繁项时使用的结构)。下面是伪代码。

我收到一个错误,说下面的 iterRecur 不是尾递归的。尾递归错误指向下面的 flatMap 行seqElem <- this.mySeq 你能建议我如何修复代码吗?

0 投票
2 回答
7530 浏览

android - 使用 RxJava 和 Retrofit 2 登录成功后做一些事情

我实现了网络调用来验证登录,它工作正常。登录成功后,我在再次调用以获取用户数据时遇到了一些麻烦。

这是 API 调用:


------------- 编辑#1 -------------

我实现了@Tassos 的建议,如下所示:

在订阅方法上这样做是否正确?我需要转换 onNext 的 Object 结果吗?

//------------------------------------------------ ---------------------------------------//

我想在登录成功后,使用通过响应对象 User 获得的令牌调用另一个 url,并将其Observable<Response<Object>> getData(@Header("Authorization") String token);作为 Header 的授权发送到另一个 api 调用()。我曾尝试使用 flatMap 和 zip,但我无法完成这项任务。
有什么建议吗?这个概念对我来说是新的。

0 投票
1 回答
155 浏览

functional-programming - 为什么绑定会使列表变平?

我想知道,你说那flatMap是monad的bind方法。bind 方法接受一个将 monad 包含的项目映射到另一个 monad 的函数。这是如何

给了我另一个内部的单子f(item)。但是,应用于 List 意味着什么?通过简单的扩展,如果您将每个 List 项目映射到一个 (list) monad,您将获得整个列表列表。为什么bind在应用于列表时会展平结果?

0 投票
1 回答
321 浏览

java - 如何在 Scala 中使用 flatMap 来对一组“vals”进行分组

我是 scala 的新手,只是创建了一些示例来更好地理解它。我似乎无法在这里解决这个问题——我在我的 java 程序中创建了一个字符串列表并在我的 scala 程序中使用这个列表。我从 java 类中读取列表的 scala 代码看起来像这样。

stringList 包含

我试图找到一种方法将这些字符串添加到名为 a、b 和 c 的值中,以便以后可以将它们作为参数传递给另一个函数。

但这不起作用。我给我一个错误说

我不使用为什么会发生这种情况。有人可以告诉我我在这里做错了什么吗?

如果代码看起来很脏,我很抱歉,但我是初学者,仍在努力理解这门语言。任何帮助表示赞赏。先感谢您。

0 投票
1 回答
900 浏览

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 所做的那样)......

0 投票
3 回答
333 浏览

scala - Apache Spark - Scala - 如何将 (k, {v1,v2,v3,...}) 映射到 ((k,v1),(k,v2),(k,v3),...)

我懂了:

想转换为:

任何想法如何使用flatMap.

0 投票
2 回答
447 浏览

arrays - 如何快速获取字典中特定对象的索引

我正在Dictionary Array以这种方式搜索键的值。

但是我想做的是获取这个result包含对象的索引。

我怎样才能做到这一点?

0 投票
1 回答
145 浏览

apache-spark - Scala平面图通过循环中的火花保存到cassandra

我有一个循环,Names{Real Test!, Real Test1!}里面有循环抛出天(这里作为示例迭代只有 1 天),在这个循环中对数据进行一些操作,然后我 flatMap RDD(有 2 行)到 5 行的 RDD。它给了我collect().foreach(println)这个:

对于名字 - 和

第二。当我尝试saveToCassandra循环中的所有 5 行时 - 在 DB 中,我只有最后几行 flatMap。

为什么它只保存了 flatMap 的最后一行,以及如何保存所有 5 行?

0 投票
1 回答
699 浏览

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:

0 投票
1 回答
7190 浏览

swift - Swift:flatMap 到字典

我正在尝试解析以下 JSON:

我也在关注本教程。它在 Playground 的 Github 上

在示例中,他们正在Array使用typealias JSONDictionary = [String: AnyObject]

我需要解析一个Dictionary具有Key哪个是的StringValue那是一个Array。因此:typealias JSONDictionary = [String: [AnyObject]]并且在返回flatMap.

错误:

如何获得带有KeysasStringValuesas an的字典Array?我想保持他们的Generic做法。