Menu
Coddy logo textTech

Metody tablic

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 65 z 86.

Oprócz dodawania i usuwania elementów tablice Swift oferują kilka przydatnych metod, które ułatwiają pracę z kolekcjami.

Właściwość isEmpty sprawdza, czy tablica zawiera jakieś elementy:

var tasks = [String]()
print(tasks.isEmpty)  // true

tasks.append("Buy groceries")
print(tasks.isEmpty)  // false

Aby usunąć wszystkie elementy naraz, użyj removeAll():

var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers)  // []

Metoda reversed() zwraca elementy w odwrotnej kolejności:

let letters = ["A", "B", "C"]
print(Array(letters.reversed()))  // ["C", "B", "A"]

Do sortowania użyj sorted(), aby uzyskać nową posortowaną tablicę, lub sort(), aby posortować tablicę w miejscu:

let scores = [85, 42, 97, 63]
print(scores.sorted())  // [42, 63, 85, 97]

var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices)  // [2.5, 5.75, 9.99]

Zauważ, że sorted() zwraca nową tablicę, pozostawiając oryginalną bez zmian, natomiast sort() modyfikuje bezpośrednio oryginalną tablicę.

challenge icon

Wyzwanie

Łatwy
Napisz funkcję processScores, która przyjmuje scores i zwraca sformatowany ciąg znaków zawierający informacje o wynikach.

Funkcja powinna przeanalizować tablicę i zbudować ciąg wynikowy zawierający trzy informacje.

Logika:

  1. Sprawdź, czy tablica jest pusta, używając isEmpty
  2. Jeśli jest pusta, zwróć "No scores"
  3. W przeciwnym razie pobierz posortowane wyniki (w kolejności rosnącej) oraz wyniki w odwrotnej kolejności
  4. Zwróć ciąg łączący oba wyniki

Parametry:

  • scores ([Int]): Tablica wyników będących liczbami całkowitymi

Zwracana wartość: Ciąg znaków w formacie: "Sorted: [sorted_array], Reversed: [reversed_array]" lub "No scores", jeśli tablica jest pusta (String)

Przykład: Jeśli scores ma wartość [85, 42, 97, 63], funkcja powinna zwrócić:

"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"

Uwaga: Odwrócona tablica powinna być odwróceniem oryginalnej tablicy, a nie posortowanej.

Spróbuj swoich sił

func processScores(scores: [Int]) -> String {
    // Napisz kod tutaj
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift