Recon convertir les tranches en tableaux
Transformez une tranche en tableau autonome.
Recon convertir les tranches en tableaux est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.
Les slices ne sont pas des tableaux
Une ArraySlice est un type distinct de Array. De nombreuses interfaces attendent un Array concret ; vous devez donc souvent effectuer une conversion.
let original = [1, 2, 3, 4, 5]
let slice = original[1..<4]
print(type(of: slice))Array(slice)
Enveloppez une slice dans l'initialiseur Array(...) pour créer un tableau indépendant avec des éléments copiés et des indices commençant à zéro.
let original = [10, 20, 30, 40, 50]
let slice = original[2..<5]
let array = Array(slice)
print(array)
print(type(of: array))Les indices recommencent à zéro
Après la conversion, le nouveau tableau recommence son indexation à 0, contrairement à la slice qui conservait les indices du tableau parent.
let original = [1, 2, 3, 4, 5]
let slice = original[3..<5]
let copy = Array(slice)
print("slice start:", slice.startIndex)
print("array start:", copy.startIndex)La conversion copie le stockage
La conversion force une copie. Le nouveau tableau ne partage plus son stockage avec le tableau parent ; le modifier n'affecte donc pas l'original.
let original = [1, 2, 3, 4]
var copy = Array(original[1..<3])
copy[0] = 999
print("original:", original)
print("copy:", copy)Renvoyer des tableaux depuis des fonctions
Lorsqu'une fonction renvoie une partie d'un tableau, convertissez la slice afin que les appelants obtiennent un Array normal.
func firstThree(of nums: [Int]) -> [Int] {
return Array(nums.prefix(3))
}
print(firstThree(of: [9, 8, 7, 6, 5]))Passer un argument à un tableau
Si le type d'un paramètre d'interface est [Int], vous devez convertir une slice avant de la transmettre.
func total(_ values: [Int]) -> Int {
return values.reduce(0, +)
}
let data = [1, 2, 3, 4, 5]
let result = total(Array(data[1..<4]))
print(result)Quand la conversion est inutile
Si votre fonction accepte une Sequence ou une Collection générique, vous pouvez transmettre directement la tranche sans la convertir.
func describe<S: Sequence>(_ s: S) where S.Element == Int {
print(Array(s))
}
let arr = [2, 4, 6, 8]
describe(arr[1..<3])Compromis en matière de mémoire
Les tranches évitent les copies et maintiennent le stockage parent en vie. Si vous conservez longtemps une petite tranche d’un tableau énorme, convertissez-la en tableau afin que le grand tampon puisse être libéré.
let huge = Array(1...1000)
let keep = Array(huge[0..<3]) // small independent copy
print(keep)Conversion en Set
Vous pouvez également transmettre une tranche à d’autres initialiseurs de collections, comme Set.
let arr = [1, 2, 2, 3, 3, 3]
let uniqueTail = Set(arr[2..<6])
print(uniqueTail.sorted())Aller-retour
Il est tout à fait acceptable de créer une tranche, de la convertir, puis de créer à nouveau une tranche. Chaque conversion est explicite et prévisible.
let arr = [10, 20, 30, 40, 50]
let a = Array(arr[1..<4])
let b = Array(a[0..<2])
print(a)
print(b)Bonne pratique
Continuez à travailler avec des tranches pendant les calculs et ne les convertissez en Array qu’à la limite où vous stockez ou renvoyez le résultat.
let arr = [3, 1, 4, 1, 5, 9, 2]
let top3 = Array(arr.sorted(by: >)[0..<3])
print(top3)Vérification rapide
Testez la conversion d’une tranche.
Récapitulatif
Utilisez Array(slice) pour transformer une ArraySlice en tableau indépendant doté d’indices commençant à zéro et d’un stockage copié. Effectuez les conversions aux limites des interfaces ; conservez les tranches pendant les calculs pour éviter les copies supplémentaires.
let s = [1, 2, 3, 4, 5][2..<5]
let a = Array(s)
print(a, a.startIndex)Apprends Swift avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 122
- Leçons
- 409
Questions Fréquemment Posées
La leçon « Recon convertir les tranches en tableaux » est-elle gratuite ?
Oui — le texte complet de « Recon convertir les tranches en tableaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Recon convertir les tranches en tableaux » ?
Transformez une tranche en tableau autonome. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Recon convertir les tranches en tableaux » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Créer des tranches avec des plages
- Sémantique des indices d’ArraySlice
- Recon convertir les tranches en tableaux
- prefix, suffix et dropFirst