Particionar Arreglo en Dos

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos cómo particionar un arreglo en dos arreglos separados basados en la verdad de una función dada para cada elemento usando JavaScript. Usaremos el método Array.prototype.reduce() para crear dos arreglos y el método Array.prototype.push() para agregar elementos al arreglo apropiado basado en la verdad de la función dada. Al final de este laboratorio, tendrás una fuerte comprensión de cómo particionar un arreglo en JavaScript y ser capaz de aplicar este conocimiento en tus futuros proyectos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28540{{"Particionar Arreglo en Dos"}} javascript/data_types -.-> lab-28540{{"Particionar Arreglo en Dos"}} javascript/arith_ops -.-> lab-28540{{"Particionar Arreglo en Dos"}} javascript/comp_ops -.-> lab-28540{{"Particionar Arreglo en Dos"}} javascript/higher_funcs -.-> lab-28540{{"Particionar Arreglo en Dos"}} javascript/destr_assign -.-> lab-28540{{"Particionar Arreglo en Dos"}} end

Cómo particionar un arreglo en dos basado en una función

Para particionar un arreglo en dos basado en una función dada, sigue estos pasos:

  1. Abre la Terminal/SSH y escribe node para comenzar a practicar la codificación.
  2. Utiliza Array.prototype.reduce() para crear un arreglo de dos arreglos.
  3. Utiliza Array.prototype.push() para agregar los elementos para los cuales fn devuelve true al primer arreglo y los elementos para los cuales fn devuelve false al segundo.

Aquí está el código que puedes utilizar:

const partition = (arr, fn) =>
  arr.reduce(
    (acc, val, i, arr) => {
      acc[fn(val, i, arr) ? 0 : 1].push(val);
      return acc;
    },
    [[], []]
  );

Para probar este código, puedes utilizar el siguiente ejemplo:

const users = [
  { user: "barney", age: 36, active: false },
  { user: "fred", age: 40, active: true }
];
partition(users, (o) => o.active);
// [
//   [{ user: 'fred', age: 40, active: true }],
//   [{ user: 'barney', age: 36, active: false }]
// ]

Esto devolverá un arreglo de dos arreglos, donde el primer arreglo contiene todos los elementos para los cuales la función dada devuelve true, y el segundo arreglo contiene todos los elementos para los cuales la función dada devuelve false.

Resumen

¡Felicidades! Has completado el laboratorio de Particionar Arreglo en Dos. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.