Teşekkür ederim o sorunu çözdüm.
Bir sorum daha var yardımcı olursanız sevinirim.
iki dizideki ürünleri nasıl karşılaştırabiliriz. yani a dizisindeki ürünler b dizisinde varsa değer true dönecek yoksa false dönecek.
Öncelikle iki dizideki ürün sayısı eşit olacak mı?
Ve iki dizideki elemanlar eşit mi? Sırası önemli değil ama eşit olmaları önemli. Bu koşullar sağlandığında aşağıdaki yöntem çalışır.
var urunler1 = ["1.urun","2.urun","3.urun","4.urun","5.urun","6.urun","7.urun","25.urun"]
var urunler2 = ["6.urun","1.urun","5.urun","2.urun","25.urun","7.urun","3.urun","4.urun"]
func diziKarsilastir(ilk ilkDizi: [String], ikinci ikinciDizi: [String]) -> Bool{
if ilkDizi.count == ikinciDizi.count && ilkDizi.sorted() == ikinciDizi.sorted(){
return true
}else {
return false
}
}
print(diziKarsilastir(ilk: urunler1, ikinci: urunler2)) // Eğer iki arraydeki eleman sayıları eşit ise, ve değerler eşit ise true döndürür.Ama dizi sayıları eşit değil bir dizide 10 eleman var bir dizide 2 eleman var. Bu 2 elemanın o 10 elemanlık dizi içinde olup olmadığını kontrol etmek istiyorsak ise:
var urunler1 = ["1.urun","2.urun","3.urun","4.urun","5.urun","6.urun","7.urun","25.urun"]
var urunler2 = ["5.urun","2.urun","25.urun","6.urun","18.urun"]
func ayniUrunVarmi(ilk ilkDizi: [String], ikinci ikinciDizi: [String]) -> Bool{
for urun in ikinciDizi {
if ilkDizi.contains(urun){
return true
}
}
return false
}
print(ayniUrunVarmi(ilk: urunler1, ikinci: urunler2)) // bu fonksiyon ise ikinci dizinin elemanlarını böler, ve ilk dizi bu elemanları kapsıyor mu diye kontrol ettirir. ardından gerekli boolean değerini return eder