
Cuando se trata de código en JavaScript, los desarrolladores encontraron que reducir la función es uno de los conceptos más difíciles de descifrar. Según Wikipedia, Reduce tiene varios nombres, a saber. Acumular, doblar, comprimir y agregar. Estos nombres indican claramente el significado y el funcionamiento de la función reducir. La idea detrás de esto es dividir una estructura en un solo valor. Por lo tanto, Reducir se puede definir como una función que convierte una lista en cualquier tipo de datos.
Por ejemplo, puede reducir una matriz [5,4,3,2,1] en el valor 15 con solo agregarlos.La función Reducir evita que los desarrolladores usen el bucle para plegar una lista en un solo valor.
En este blog, aprenderá formas de implementar funciones bien conocidas utilizando reduce como ya lo han hecho los desarrolladores en la
principal empresa de desarrollo de software .
He enumerado 10 funciones de utilidad de JavaScript recreadas usando la función reducir. Entonces, mira a continuación estas funciones: -Parámetros utilizados
matriz (para transformar la lista de elementos), transformar la función (es una función utilizada para ejecutarse en cada elemento)
Trabajando
Al usar transformFunction, cada elemento de la matriz dada se transforma y devuelve una nueva matriz de elementos.
¿Cómo implementar?
const map = (transformFunction, array1) => array1.reduce((newArray1, xyz) => { newArray1.push(transformFunction(xyz)); return newArray1; }, [] );
Caso de uso:
const double = (x) => x * 2; const reverseString = (string) => string .split('') .reverse() .join(''); map(double, [200, 300, 400]); Output: [400, 600, 800] map(reverseString, ['Hello Alka', 'I love cooking']);
Parámetros utilizados
matriz (lista de elementos / valores para filtrar), predicado (función que devuelve valor verdadero o falso)
Trabajando
Rechazar tiene un comportamiento opuesto para filtrar pero igual así. Si el predicado devuelve un valor falso, solo el elemento se agregará a la nueva matriz. De lo contrario, el artículo se excluirá de la nueva matriz.
¿Cómo implementar?
const reject = (predicate, arr3) => arr3.reduce((newArray, val3) => { if (predicate(val3) === false) { newArray.push(val3); } return newArray; }, [] );
Caso de uso:
const isEven = (z) => z % 2 === 0; reject(isEven, [1, 6, 4, 3]);
Parámetros utilizados
matriz (lista de elementos), reductor (es una función que recibe dos parámetros, es decir, acumulador y elemento actual de la lista de matriz)
Trabajando
Su funcionamiento es similar a la reducción, pero en lugar de devolver el valor único como resultado, devuelve una lista de cada valor reducido correspondiente a la salida única.
¿Cómo implementar?
const scan = (reducer, initialVal, array) => { const reducedValues = []; array.reduce((acc, currentval) => { const newAcc = reducer(acc, currentval); reducedValues.push(newAcc); return newAcc; }, initialVal); return reducedValues; };
Caso de uso:
const add = (y, z) => y + z; const multiply = (y, z) => y * z; scan(add, 0, [1, 2, 3, 4]);
Parámetros utilizados
matriz (para filtrar la lista de elementos), predicado (es una función para devolver valor falso o verdadero)
Trabajando
Aquí, obtendrá una nueva matriz como salida. Si la función de predicado devuelve un valor verdadero, el elemento se agregará a la nueva matriz. Sin embargo, si devuelve falso, el elemento se excluirá de la nueva matriz.
¿Cómo implementar?
const filter = (predicate, arr1) => arr1.reduce((newArray, val) => { if (predicate(val) === true) { newArray.push(val); } return newArray; }, [ ] );
Caso de uso:
const isEven = (y) => y % 2 === 0; filter(isEven, [3, 2, 5]);
Parámetros utilizados
matriz (enumerar elementos para probar), predicado (función para devolver el valor verdadero o falso)
Trabajando
Aquí, ninguno devuelve un valor verdadero si el predicado devuelve un valor falso para cada elemento. De lo contrario, devolverá un valor falso para cada valor verdadero de predicado.
¿Cómo implementar?
const none = (predicate, array) => array.reduce((acc1, val1) => !acc1 && !predicate(val1), false);
Caso de uso:
const isEven2 = (x) => x % 2 === 0; none(isEven2, [1, 3, 5]);
Parámetros utilizados
matriz (contiene una lista de elementos), predicado (función que devuelve valor falso o verdadero)
Trabajando
Define la división de una matriz en dos según el valor del predicado. Si el predicado devuelve un valor verdadero, el elemento irá a la lista1. De lo contrario, irá a la lista2. Los programadores de hoy en día que están asociados con las principales empresas de desarrollo de software han utilizado el método para dividir la matriz en varios fragmentos. Echemos un vistazo a los siguientes pasos:
¿Cómo implementar?
const partition = (predicate, array) => array.reduce( (result3, item) => { const [list1, list2] = result; if (predicate(item) === true) { list1.push(item); } else { list2.push(item); } return result3; }, [ [], [] ] );
Caso de uso:
const isEven = (z) => z % 2 === 0; partition(isEven, [1, 2, 3]);
Parámetros utilizados
matriz (para probar la lista de los elementos), predicado (es una función para devolver el valor verdadero o falso)
Trabajando
Al proporcionar un valor de entrada, si el predicado devuelve el valor verdadero, entonces todos devolverán el valor verdadero. De lo contrario, devolverá un valor falso.
¿Cómo implementar?
const all = (predicate, array) => array.reduce((arr, val) => arr && predicate(val), true);
Caso de uso:
const sequl3 = (x) => x === 3; all(sequl3, [3]);
Parámetros utilizados
matriz (para probar la lista de elementos), predicado (es una función para devolver el valor verdadero o falso)
Trabajando
Para cualquier valor de entrada, si el predicado devuelve verdadero, algunos devolverán verdadero. De lo contrario, devolverá un valor falso.
¿Cómo implementar?
Tomemos un ejemplo para ello: const some = (predicate, array) => array.reduce((arc, val) => arc || predicate(val), false);
Caso de uso:
const aqua3 = (x) => x === 3; some(aqua3, [3]);
Parámetros utilizados
matriz (para almacenar el valor de los elementos), clave (para extraer el nombre de la clave del objeto)
Trabajando
Puede extraer la clave dada de cada elemento de la matriz y además devuelve una nueva matriz de los valores respectivos.
¿Cómo implementar?
const pluck = (key3, array) => array.reduce((values3, current) => { values.push(current[key3]); return values3; }, [] );
Caso de uso:
pluck('name', [{ name: 'Soman' }, { name: 'Rovin' }, { name: 'Jojo' }]);
Parámetros utilizados
matriz (para buscar elementos en la lista de matriz), predicado (función que devuelve un valor verdadero o falso)
Trabajando
Devolverá el primer elemento que coincida con el predicado dado y, en caso de que no se encuentre ninguna coincidencia, se devolverá undefined.
¿Cómo implementar?
const find = (predicate, array) => array.reduce((output, item) => { if (output !== undefined) { return output; } if (predicate(item) === true) { return item; } return undefined; }, undefined);
Caso de uso:
const isEven = (a) => a % 2 === 0; find(isEven, []);
Nota final:
Así es como puede implementar las funciones de la utilidad JavaScript utilizando reducir en menos tiempo. Esto definitivamente ayudará a los desarrolladores de software a ahorrar tiempo, así como a sus esfuerzos de codificación. En caso de que necesite un soporte perfecto para sus consultas de codificación, puede contactar a una compañía experta en desarrollo de software para las necesidades de su proyecto.