У меня есть две последовательности, скажем:
val first = Array("B", "L", "T")
val second = Array("T70", "B25", "B80", "A50", "M100", "B50")
Как получить продукт таким образом, что элементы первого массива объединяются с каждым элементом второго массива, который начинается с первого, а также дают значение по умолчаниюпустой результат, когда ни один элемент во втором массиве не удовлетворяет условию.
Эффективно, чтобы получить вывод:
expectedProductArray = Array("B-B25", "B-B80", "B-B50", "L-Default", "T-T70")
Я пытался сделать,
val myProductArray: Array[String] = for {
f <- first
s <- second if s.startsWith(f)
} yield s"""$f-$s"""
, и я получаю:
myProductArray = Array("B-B25", "B-B80", "B-B50", "T-T70")
Существует ли идиоматический способ добавления значения по умолчанию для значений в первой последовательности, не имеющих соответствующего значения во второй последовательности с заданными критериями?Цените свои мысли.