Executando verificação de segurança...
1

A resposta é:

function nextInLine(arr, item) {
// Only change code below this line
arr.push(item);
const removed = arr.shift();
return removed;
return item;
// Only change code above this line
}

Apesar de ter "funcionado", eu não diria que está totalmente certo. Isso porque a função tem dois return, o que não faz sentido. Quando ela encontra o primeiro return, ela já retorna o valor e encerra a execução, então o segundo return nunca será executado (o problema é que JS é bem permissivo com algumas coisas e não dá erro nesse caso).

Enfim, já te passaram os links da documentação (aqui e aqui). Mas pra resumir, push adiciona um elemento no final do array, e shift remove o primeiro elemento e o retorna. Por exemplo:

let array = [1, 2, 3, 4, 5];
array.push(6); // adiciona o 6 no final
console.log(array); // [ 1, 2, 3, 4, 5, 6 ]

let primeiro = array.shift(); // remove o primeiro elemento
console.log(primeiro); // 1
console.log(array); // [ 2, 3, 4, 5, 6 ]

Sendo assim, o exercício pede que um elemento seja adicionado no final, e depois que o primeiro seja removido e retornado. Então poderia ser apenas:

function nextInLine(arr, item) {
    arr.push(item);
    return arr.shift();
}

E só. Como shift remove o primeiro elemento e o retorna, eu posso retornar este valor diretamente, sem precisar de variáveis intermediárias.

Testando:

function nextInLine(arr, item) {
    arr.push(item);
    return arr.shift();
}

let array = [1, 2, 3, 4, 5];
// adiciona o 6 no final e remove o primeiro elemento
let primeiro = nextInLine(array, 6);
console.log(primeiro); // 1
console.log(array); // [ 2, 3, 4, 5, 6 ]
Carregando publicação patrocinada...