Sobes.tech
Middle

როგორ შეიძლება ფუნქცია დავამატოთ მასივში Swift ენის გამოყენებით?

sobes.tech AI

პასუხი AI-სგან

გაფართოებების საშუალებით.

extension Array {
    // მაგალითის ფუნქცია, რომელიც მხოლოდ მაშინ დაამატებს ელემენტს, თუ ის ჯერ არ არის მასივში
    mutating func appendUnique<Element: Equatable>(_ element: Element) where Element == Self.Element {
        if !self.contains(a: element) {
            self.append(element)
        }
    }

    // უნივერსალური contains ფუნქცია გენერიკით
    func contains<Element: Equatable>(a element: Element) -> Bool where Element == Self.Element {
        return self.contains(where: { $0 == element })
    }
}

var numbers = [1, 2, 3]
numbers.appendUnique(4) // [1, 2, 3, 4]
numbers.appendUnique(2) // [1, 2, 3, 4] - ელემენტი 2 უკვე არსებობს

var strings = ["apple", "banana"]
strings.appendUnique("orange") // ["apple", "banana", "orange"]
strings.appendUnique("apple")  // ["apple", "banana", "orange"] - ელემენტი "apple" უკვე არსებობს