K
K-Fire
Есть простенькая задачка: 2 массива, старый и новый, надо найти элементы которые есть только в новом.
Попробовал использовать функцию Replace(newarray, oldarray, "") - лотус вылетает с красным экраном. Поэтому написал по-быстрому свою функцию:
Можно ли предложить более простой и эффективный способ решить эту задачку?
Попробовал использовать функцию Replace(newarray, oldarray, "") - лотус вылетает с красным экраном. Поэтому написал по-быстрому свою функцию:
Код:
Function isArrayConsistElement(array, element)
Forall el In array
If el = element Then
isArrayConsistElement = True
Exit Function
End If
End Forall
isArrayConsistElement = False
End Function
Код:
Function ReturnNewElements(newarray, oldarray) As Variant
' declarations
Redim returnarray(0 To 0) As String
Dim i As Integer, k As Integer
' code
k = 0
For i=Lbound(newarray) To Ubound(newarray)
If Not isArrayConsistElement(oldarray, newarray(i)) Then
Redim Preserve returnarray(0 To k) As String
returnarray(k) = newarray(i)
k = k + 1
End If
Next
ReturnNewElements = returnarray
End Function
Можно ли предложить более простой и эффективный способ решить эту задачку?