push() quanto unshift() possuem métodos correspondentes que são quase opostos funcionais: pop() e shift() . Como você deve ter adivinhado agora, em vez de adicionar, pop() remove um elemento do final de um array, enquanto shift() remove um elemento do começo. A principal diferença entre pop() e shift() e seus primos push() e unshift() , é que nenhum método recebe parâmetros, e cada um só permite que um array seja modificado por um único elemento por vez. Vamos dar uma olhada: deixe saudações = ['o que está acontecendo?', 'olá', 'até mais!'];Nós também podemos retornar o valor do elemento removido com um dos métodos como este:
greetings.pop ();
// agora é igual a ['whats up?', 'olá']
greetings.shift ();
// agora é igual a ['olá']
deixe popped = greetings.pop ();
// retorna 'olá'
// saudações agora é igual a []
popShift(["challenge", "is", "not", "complete"]) deve retornar ["challenge", "complete"]'
testString: 'assert.deepEqual(popShift(["challenge", "is", "not", "complete"]), ["challenge", "complete"], "popShift(["challenge", "is", "not", "complete"]) should return ["challenge", "complete"]");'
- text: A função popShift deve utilizar o método pop()
testString: 'assert.notStrictEqual(popShift.toString().search(/\.pop\(/), -1, "The popShift function should utilize the pop() method");'
- text: A função popShift deve utilizar o método shift()
testString: 'assert.notStrictEqual(popShift.toString().search(/\.shift\(/), -1, "The popShift function should utilize the shift() method");'
```