push()
como unshift()
tienen métodos correspondientes que son opuestos casi funcionales: pop()
y shift()
. Como ya habrá adivinado, en lugar de agregar, pop()
elimina un elemento del final de una matriz, mientras que shift()
elimina un elemento desde el principio. La diferencia clave entre pop()
y shift()
y sus primos push()
y unshift()
, es que ninguno de los dos métodos toma parámetros, y cada uno solo permite que una matriz sea modificada por un solo elemento a la vez. Vamos a ver: dejar saludos = ['¿qué hay?', 'hola', 'nos vemos'];También podemos devolver el valor del elemento eliminado con uno de estos métodos:
greetings.pop ();
// ahora es igual a ['whats up?', 'hola']
saludos. cambio ();
// ahora es igual a ['hola']
vamos a popped = greetings.pop ();
// devuelve 'hola'
// saludos ahora es igual a []
popShift
, que toma una matriz como argumento y devuelve una nueva matriz. Modifique la función, utilizando pop()
y shift()
, para eliminar el primer y último elemento de la matriz de argumentos, y asigne los elementos eliminados a sus variables correspondientes, de modo que la matriz devuelta contenga sus valores. popShift(["challenge", "is", "not", "complete"])
debe devolver ["challenge", "complete"]
'
testString: 'assert.deepEqual(popShift(["challenge", "is", "not", "complete"]), ["challenge", "complete"], "popShift(["challenge", "is", "not", "complete"])
should return ["challenge", "complete"]
");'
- text: La función popShift
debería utilizar el método pop()
testString: 'assert.notStrictEqual(popShift.toString().search(/\.pop\(/), -1, "The popShift
function should utilize the pop()
method");'
- text: La función popShift
debería utilizar el método shift()
testString: 'assert.notStrictEqual(popShift.toString().search(/\.shift\(/), -1, "The popShift
function should utilize the shift()
method");'
```