Questão de Programação — Linguagens de programação — INSTITUTO AOCP 2025
- Código
- qg540674
- Banca
- INSTITUTO AOCP
- Órgão
- MPE-RS
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista do Ministério Público - Informática
- Apop
- Bpush
- Cunshift
- Dindexof
- Elength
GabaritoC — unshift
Gabarito: letra C. O método unshift é o responsável por adicionar um ou mais elementos no início de um array, deslocando os elementos existentes para índices maiores — exatamente o que o enunciado descreve. Os demais métodos (pop, push, indexOf e length) têm funções diferentes, como veremos a seguir.
Os arrays são estruturas de dados fundamentais em JavaScript, e a linguagem oferece métodos nativos para manipulá-los. Cada método tem um comportamento específico, e a banca explora justamente a confusão entre eles. Vamos entender cada um:
push: adiciona um ou mais elementos ao final do array. É o oposto do unshift.
pop: remove o último elemento do array e o retorna.
shift: remove o primeiro elemento do array e o retorna, deslocando os demais para índices menores. É o oposto do unshift.
unshift: adiciona um ou mais elementos ao início do array, deslocando os elementos existentes para índices maiores.
indexOf: retorna o índice da primeira ocorrência de um elemento, ou -1 se não encontrar.
length: é uma propriedade (não um método) que retorna o número de elementos do array.
A pegadinha desta questão está em confundir unshift com push ou shift. O enunciado pede explicitamente "adicionar na primeira posição", o que elimina push (adiciona no final) e shift (remove do início). O unshift é o único que adiciona no início.
Vamos ver um exemplo prático:
let frutas = ['banana', 'maçã'];
frutas.unshift('uva');
console.log(frutas); // ['uva', 'banana', 'maçã']O unshift adicionou 'uva' na primeira posição, e os elementos anteriores avançaram uma posição. É exatamente o comportamento descrito no enunciado.
pop remove o último elemento do array e o retorna. Ele não adiciona nada, muito menos na primeira posição. A banca incluiu pop como distrator para testar se o candidato sabe que ele é o oposto de push (remove do final, enquanto push adiciona no final).
push adiciona um ou mais elementos ao final do array, não no início. É o método mais comum para adicionar elementos, mas a posição é o final. O enunciado pede explicitamente "primeira posição", o que elimina push.
unshift adiciona um ou mais elementos ao início do array, deslocando os elementos existentes para índices maiores. É exatamente o que o enunciado descreve: "adicionar um valor, variável ou objeto na primeira posição de um array, fazendo com que todos os outros valores avancem uma posição à frente".
indexOf é um método que retorna o índice da primeira ocorrência de um elemento no array, ou -1 se não encontrar. Ele não adiciona nem remove elementos; apenas busca. A banca incluiu indexOf para testar se o candidato confunde métodos de busca com métodos de inserção.
length é uma propriedade (não um método) que retorna o número de elementos do array. Ela não adiciona nem remove elementos; apenas informa o tamanho. A banca incluiu length para testar se o candidato sabe diferenciar propriedades de métodos.
Para fixar, lembre-se do par push/pop (final) e unshift/shift (início). push e pop trabalham no final do array; unshift e shift trabalham no início. Se a questão pedir "adicionar no início", a resposta é unshift; se pedir "remover do início", é shift.
Gabarito: letra C
Link permanente: /questoes/qg540674