Bifurcar Arreglo Basado en Función

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 bifurcar un arreglo basado en una función de filtrado dada en JavaScript. Utilizaremos el método Array.prototype.reduce() y el método Array.prototype.push() para dividir los valores del arreglo en dos grupos según si la función de filtrado devuelve un valor verdadero o no. Este laboratorio está diseñado para mejorar tu comprensión de las funciones de orden superior y la manipulación de arreglos en JavaScript.


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/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28170{{"Bifurcar Arreglo Basado en Función"}} javascript/data_types -.-> lab-28170{{"Bifurcar Arreglo Basado en Función"}} javascript/comp_ops -.-> lab-28170{{"Bifurcar Arreglo Basado en Función"}} javascript/higher_funcs -.-> lab-28170{{"Bifurcar Arreglo Basado en Función"}} end

Función para Dividir un Arreglo en Dos Grupos

Para dividir un arreglo en dos grupos basado en el resultado de una función dada, siga estos pasos:

  1. Abra la Terminal/SSH y escriba node para comenzar a practicar la codificación.
  2. Utilice los métodos Array.prototype.reduce() y Array.prototype.push() para agregar elementos a los grupos. Esto se basa en el valor devuelto por la función fn dada para cada elemento.
  3. Si fn devuelve un valor verdadero para cualquier elemento, agréguelo al primer grupo. De lo contrario, agréguelo al segundo grupo.

Aquí está el código:

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

Por ejemplo, si llama a bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] === 'b'), la función devolverá [ ['beep', 'boop', 'bar'], ['foo'] ].

Resumen

¡Felicitaciones! Has completado el laboratorio de Bifurcar Arreglo Basado en Función. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.