问题标签 [foldleft]
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 - 将类列表折叠成一个逗号分隔的字符串(在 Scala 中)
我需要获取案例类列表并将它们转换为单个逗号分隔的字符串(没有标题或尾部逗号)。
所以, toLine(State("one"), State("two"), State("three")) 应该返回一、二、三
这就是我的想法。有更好的方法吗?
有没有办法保证列表中至少有一个值?
scala - foldLeft 上的 scala 参数化类型
给定参数化方法的以下签名
在处理参数化类型的 foldLeft 之前,我试图获得以下内容
但是,这会导致以下错误:
如果我将 def 的签名更改为以下内容:
工作和输出:
是
如果我遗漏了一些非常明显的东西,我深表歉意。
haskell - 这个基于 foldl 的函数如何工作:“myreverse = foldl (flip (:)) []”?
我正在学习haskell,我尝试在不使用递归的情况下编写自己的反向函数。
解决方案是这个功能:
我试图了解在评估过程中会发生什么,比如:
我不明白翻转在这里做什么。有人可以通过一步一步的解释写下这里发生的事情吗?
scala - Scala:值 :: 不是 Int 的成员
我有以下 Scala 代码示例,我想知道为什么我在 foldLeft 上出现错误,但在 foldRight 上却没有?
我是 Scala 的新手,所以请尽可能简单地回复。谢谢
scala - 如何在 Scala 中编写高效的 groupBy-size 过滤器,可以近似
给定List[Int]
Scala 中的 a ,我希望得到至少出现次数Set[Int]
的所有s 。我可以使用or , then来做到这一点。例如:Int
thresh
groupBy
foldLeft
filter
会给Set(1,2)
。
现在假设List[Int]
非常大。很难说有多大,但无论如何这似乎很浪费,因为我不关心每个Int
s 频率,我只关心它们是否至少是thresh
. 一旦它通过thresh
了,就不需要再检查了,只需Int
将Set[Int]
.
问题是:对于一个非常大的,我可以更有效地做到这一点List[Int]
,
a) 如果我需要一个真实、准确的结果(没有出错的余地)
b) 如果结果可以是近似的,例如通过使用一些散列技巧或布隆过滤器,其中Set[Int]
可能包含一些误报,或者 {the frequency of an Int
> thresh
} 是否真的不是 aBoolean
而是 a Double
in [0-1]
。
scala - Scala折叠左找到倒数第二个元素
你能解释一下为什么第一个定义与下一个定义相比是错误的吗?
为什么写作
((r._2,c))._1
会给我带来倒数第二个元素?请告诉我元素是如何插入的
(r,c)
或它们的意义。
这是代码:
arrays - Scala:如何将 foldLeft 与通用数组一起使用?
我有这个方法:
我想做的是使用foldLeft
和应用二元运算符。但是,foldLeft
需要一个初始值,而且我不知道在不知道A
.
scala - 是否可以根据条件更新 foldLeft 函数中的变量?
我正在尝试编写 scala 代码,该代码从给定数组的连续子数组中给出最大总和。例如,val arr= Array(-2, -3, 4, -1, -2, 1, 5, -3)
。在这个数组中,我需要获得最大的连续子数组和,即 4+(-1)+(-2)+(1)+5 = 7。我编写了以下代码来获得这个结果。
maximum_so_far
但与实际结果有偏差,因为随着计数/求和的进行,我无法更新该值。由于我曾经做过这个功能,只有当连续子数组元素的总和大于之前的 max_sum 时foldLeft
,是否有可能更新变量?maximum_so_far
scala - 聚合案例类列表的更好方法
我有案例类列表。输出需要对案例类的不同参数进行聚合。寻找更优化的方法来做到这一点。
例子:
现在要从一个城市获取学生的详细信息,我需要首先按城市聚合,然后分解这些详细信息大学,然后分组。
输出是以下格式的案例类列表。
实现此目的的两种方法:
1)循环所有列表,为每个组合(以上案例3组合)创建一个映射,聚合数据并创建新的结果列表并将数据附加到它。
2) 使用 foldLeft 选项
在这两种情况下,循环列表不止一次。有什么方法可以通过单通道和优化方式来实现这一点。
scala - 用 Map 而不是 List 理解 foldLeft
我很想了解foldLeft
地图的工作原理。如果我有一个 List 并使用一个零元素和一个函数调用它 foldLeft,我确实理解它是如何工作的:
我在其中添加零元素0
和第一个元素,list1
然后添加第二个元素,list1
依此类推。所以输出成为新的输入,第一个输入是零元素。
现在我得到了代码
- 所以我这里的第一个元素是 a
Tuple2
,但既然map2
是 aMap
而不是 aTuple2
,那么零元素是什么? - 当我们有 a
List
时list1
,我们总是“取下一个元素list1
”。什么是“下一个元素”map1
?是另一对map1
吗?