3.1 KiB
3.1 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d78b2367417b2b2512b0f | Remove Items from an Array with pop() and shift() | 1 | Eliminar elementos de una matriz con pop () y shift () |
Description
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 []
Instructions
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. Tests
tests:
- text: '<code>popShift(["challenge", "is", "not", "complete"])</code> debe devolver <code>["challenge", "complete"]</code>'
testString: 'assert.deepEqual(popShift(["challenge", "is", "not", "complete"]), ["challenge", "complete"], "<code>popShift(["challenge", "is", "not", "complete"])</code> should return <code>["challenge", "complete"]</code>");'
- text: La función <code>popShift</code> debería utilizar el método <code>pop()</code>
testString: 'assert.notStrictEqual(popShift.toString().search(/\.pop\(/), -1, "The <code>popShift</code> function should utilize the <code>pop()</code> method");'
- text: La función <code>popShift</code> debería utilizar el método <code>shift()</code>
testString: 'assert.notStrictEqual(popShift.toString().search(/\.shift\(/), -1, "The <code>popShift</code> function should utilize the <code>shift()</code> method");'
Challenge Seed
function popShift(arr) {
let popped; // change this line
let shifted; // change this line
return [shifted, popped];
}
// do not change code below this line
console.log(popShift(['challenge', 'is', 'not', 'complete']));
Solution
// solution required