arrays - 在数组的数组上应用过滤器函数在 Scala 中返回异常

标签 arrays scala multidimensional-array filter

我正在学习 Scala,并尝试在 Arrays 上练习一些示例。下面是示例:

  scala>var arr = Array(Array(1,2,3), Array(4,5,6));

  scala>arr.map(_.map(_ * 5))
  res42: Array[Array[Int]] = Array(Array(5,10,15),Array(20,25,30))

当我尝试以同样的方式对上述数组执行 filter 方法时,它导致了一个错误。下面是一段代码和产生的错误

   scala>arr.filter(_.filter(_ < 5))
   <console>:15: error: type mismatch;
   found   : Array[Int]
   required: Boolean
   o.filter(_.filter(_ < 5))
                    ^

请说明为什么 filter 操作不起作用 在 Arrays 的数组上使用 filter 方法的正确方法是什么?

最佳答案

如果目标是得到Array(Array(1,2,3), Array(4)),那么

arr.map(_.filter(_ < 5))

如果目标是得到Array(1,2,3,4),那么

arr.flatten.filter(_ < 5)

关于arrays - 在数组的数组上应用过滤器函数在 Scala 中返回异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52723031/

相关文章:

javascript - 如何使用javascript解决连续问题?

Python - 从 numpy 数组中删除一行?

Java:打印尾随空格

scala - 如何:Transaction Rollback in squeryl

java - 初始化二维数组

javascript - 嵌套一些具有特定名称的键的对象组数组

scala - f 插值不会减少 scala 中的位数

Scala - List take - OrElse - 带默认值

matlab - 如何在Matlab中输入3D矩阵?

python - 如何有效地查找多维数组中相似元素的簇