Если у меня есть структура, скажите:
struct Subject {
var subjectID: String?
var name: String?
var note: String?
}
И у меня есть два массива этой структуры: Array1 и Array2.
Например:
Array1 = [(subjectID = "T", name = "H", note = "DF"), (subjectID = "F", name = "H", note = "SD")]
Array2 = [(subjectID = "T", name "G", note = "DF"), (subjectID = "R", name = "F", note = "SDF")]
Я хочу вернуть новый массив , который состоит из подмножества элементов из Array2
, которые соответствуют полю subjectID
из Array1
, но имеют различные элементы name
и / или note
.
В приведенном выше примере возвращаемый массив будет иметь вид:
[(subjectID = "T", name "G", note = "DF")]
Поскольку он содержит то же subjectID
(в данном случае T
), что и в Array1
, но поле name
отличается.Обратите внимание, что поля для этого нового возвращаемого массива должны быть исходными значениями от Array2
(например: вам не нужно корректировать их, чтобы они соответствовали Array1
)
Есть ли простой способ (например: one-две строки кода) чтобы сделать это без перебора?
Спасибо!