Modificando Arrays
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 64 de 86.
Arrays tornam-se verdadeiramente úteis quando você pode alterar seus conteúdos. Para modificar um array, você deve declará-lo com var em vez de let.
Você pode alterar um elemento existente atribuindo um novo valor a um índice específico:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow"
print(colors) // ["Red", "Yellow", "Blue"]Para adicionar novos elementos, use o método append para um único item, ou o operador += para adicionar múltiplos itens de uma vez:
var numbers = [1, 2, 3]
numbers.append(4)
print(numbers) // [1, 2, 3, 4]
numbers += [5, 6]
print(numbers) // [1, 2, 3, 4, 5, 6]Para inserir um elemento em uma posição específica, use o método insert:
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1)
print(fruits) // ["Apple", "Banana", "Orange"]Para remover elementos, use remove(at:) com o índice que você deseja excluir:
var items = ["A", "B", "C", "D"]
items.remove(at: 2)
print(items) // ["A", "B", "D"]Lembre-se, quando você remove um elemento, todos os elementos subsequentes se deslocam para baixo para preencher a lacuna.
Desafio
FácilEscreva uma função modifyInventory que recebe um array de itens, um novo item para adicionar e um índice para remover, e então retorna o array modificado.
Execute as seguintes operações em ordem:
- Altere o primeiro elemento para
"Updated" - Adicione o novo item ao final do array
- Remova o elemento no índice especificado
Parâmetros:
items([String]): O array inicial de itensnewItem(String): O item a ser adicionadoremoveIndex(Int): O índice do elemento a ser removido (após a adição)
Retorna: O array modificado após todas as operações ([String])
Exemplo: Se items for ["A", "B", "C"], newItem for "D" e removeIndex for 2, a função deve:
- Alterar o primeiro elemento:
["Updated", "B", "C"] - Adicionar "D":
["Updated", "B", "C", "D"] - Remover no índice 2:
["Updated", "B", "D"]
Folha de consulta
Arrays declarados com var podem ser modificados, enquanto arrays declarados com let são imutáveis.
Altere um elemento atribuindo um novo valor a um índice específico:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow" // ["Red", "Yellow", "Blue"]Adicione um único elemento com append:
var numbers = [1, 2, 3]
numbers.append(4) // [1, 2, 3, 4]Adicione múltiplos elementos com +=:
numbers += [5, 6] // [1, 2, 3, 4, 5, 6]Insira um elemento em uma posição específica com insert(_:at:):
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1) // ["Apple", "Banana", "Orange"]Remova um elemento em um índice específico com remove(at:):
var items = ["A", "B", "C", "D"]
items.remove(at: 2) // ["A", "B", "D"]Quando um elemento é removido, todos os elementos subsequentes se deslocam para preencher a lacuna.
Experimente você mesmo
func modifyInventory(items: [String], newItem: String, removeIndex: Int) -> [String] {
// Escreva o código aqui
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa