首页 > 解决方案 > 根据条件获取数组值

问题描述

我有以下数组

 scala> arr1
res77: Array[Array[Int]] = Array(Array(5, 1, 99), Array(1, 2, 99), Array(2, 3, 99), Array(5, 6, 99))

scala> arr2
res78: Array[Array[Int]] = Array(Array(5, 1, 110), Array(1, 2, 110), Array(2, 3, 110), Array(5, 6, 110))

该数组的每个项目的第三个元素将是一个常量值(即,第一个为 99,第二个为 110)。我必须根据第三个元素从数组中获取值

即,如果第三个元素 <=100 ,我必须在数组中获取第二个元素 < 5 的那些项目

如果第三个元素 >100 ,我必须在数组中获取第二个元素 > 5 的那些项目

预期输出:

Array[Array[Int]] = Array(Array(5, 1, 99), Array(1, 2, 99), Array(2, 3, 99) ) //Output for arr1
Array[Array[Int]] = Array(Array(5, 6, 110)) //Output for arr2

如何制作通用代码?

标签: arraysscalaarraylist

解决方案


如果你保证第三个元素是相同的,你可以尝试这样的事情:

arr1.filter(arr => {if (arr(2) <= 100) arr(1) < 5 else arr(1) > 5 })

推荐阅读