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.
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:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Utilice los métodos
Array.prototype.reduce()yArray.prototype.push()para agregar elementos a los grupos. Esto se basa en el valor devuelto por la funciónfndada para cada elemento. - Si
fndevuelve 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.