Arrays 二维数组过滤器如何在scala中获取值

Arrays 二维数组过滤器如何在scala中获取值,arrays,scala,filter,multidimensional-array,Arrays,Scala,Filter,Multidimensional Array,我有一个二维数组 val A = Array((10.0,1.0,2.0,3.0),(20.0,4.0,5.0,6.0),(10.0,7.2.8.0,9.0)) 如何过滤等于10的第一个元素,并获得另一个元素的值 结果如下: x = Array((1.0,2.0,3.0),(7.2.8.0,9.0)) 我可以使用x(I)来获取数组中的值 谢谢!:) 您可以这样做: A.filter(_._1 == 10).map{case (a,b,c,d)=>(b,c,d)} for ((a,b,

我有一个二维数组

val A = Array((10.0,1.0,2.0,3.0),(20.0,4.0,5.0,6.0),(10.0,7.2.8.0,9.0))
如何过滤等于10的第一个元素,并获得另一个元素的值

结果如下:

x = Array((1.0,2.0,3.0),(7.2.8.0,9.0))
我可以使用x(I)来获取数组中的值


谢谢!:)

您可以这样做:

A.filter(_._1 == 10).map{case (a,b,c,d)=>(b,c,d)}
for ((a,b,c,d) <- A if a == 10) yield (b,c,d)
或者像这样:

A.filter(_._1 == 10).map{case (a,b,c,d)=>(b,c,d)}
for ((a,b,c,d) <- A if a == 10) yield (b,c,d)

for((a,b,c,d)如果我使用第一种方法,我如何使用值b,c,d?比如:val x=a.filter(u._1==10)。map{case(a,b,c,d)=>(b,c,d)}和x(0)可以得到(Double,Double,Double)=(1.0,2.0,3.0),但如果我想得到的只是值“1.0”,我该怎么办?我是scala的初学者,所以很多概念都不清楚。感谢您的详细回复:)您可以使用语法
(1.0,2.0,3.0)。\u 1
获取元组的第一个元素(在本例中为1.0)。类似地,
tuple.\u 2
获取第二个元素,依此类推。例如,
x(0)。\u 1
将返回1.0。