Files
freeCodeCamp/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push.md
2021-10-27 21:47:35 +05:30

2.1 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7da9367417b2b2512b67 Agrega elementos al final de un arreglo utilizando concat en lugar de push 1 301226 add-elements-to-the-end-of-an-array-using-concat-instead-of-push

--description--

La programación funcional consiste en crear y utilizar funciones no mutantes.

El último desafío introdujo el método concat como una forma de combinar arreglos en uno nuevo sin mutar los arreglos originales. Compara concat con el método push. push añade un elemento al final del arreglo desde el que se llama, lo cual muta ese arreglo. Aquí hay un ejemplo:

const arr = [1, 2, 3];
arr.push([4, 5, 6]);

arr tendría un valor modificado de [1, 2, 3, [4, 5, 6]], que no encaja con el paradigma de la programación funcional.

concat ofrece una forma de añadir nuevos elementos al final de un arreglo, sin provocar ningún efecto de mutación.

--instructions--

Cambia la función nonMutatingPush para que use concat para añadir newItem al final de original en lugar de push. La función debe devolver un arreglo.

--hints--

El código debe utilizar el método concat.

assert(code.match(/\.concat/g));

El código no debe utilizar el método push.

assert(!code.match(/\.?[\s\S]*?push/g));

El arreglo first no debe modificarse.

assert(JSON.stringify(first) === JSON.stringify([1, 2, 3]));

El arreglo second no debe modificarse.

assert(JSON.stringify(second) === JSON.stringify([4, 5]));

nonMutatingPush([1, 2, 3], [4, 5]) debe devolver [1, 2, 3, 4, 5].

assert(
  JSON.stringify(nonMutatingPush([1, 2, 3], [4, 5])) ===
    JSON.stringify([1, 2, 3, 4, 5])
);

--seed--

--seed-contents--

function nonMutatingPush(original, newItem) {
  // Only change code below this line
  return original.push(newItem);

  // Only change code above this line
}

const first = [1, 2, 3];
const second = [4, 5];
nonMutatingPush(first, second);

--solutions--

function nonMutatingPush(original, newItem) {
  return original.concat(newItem);
}
const first = [1, 2, 3];
const second = [4, 5];