freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-an.../basic-data-structures/remove-items-from-an-array-...

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

Tanto 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'];

greetings.pop ();
// ahora es igual a ['whats up?', 'hola']

saludos. cambio ();
// ahora es igual a ['hola']
También podemos devolver el valor del elemento eliminado con uno de estos métodos:
vamos a popped = greetings.pop ();
// devuelve 'hola'
// saludos ahora es igual a []

Instructions

Hemos definido una función, 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([&quot;challenge&quot;, &quot;is&quot;, &quot;not&quot;, &quot;complete&quot;])</code> debe devolver <code>[&quot;challenge&quot;, &quot;complete&quot;]</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