¿Cómo aplicar la función contra un acumulador y cada clave de objeto en JavaScript?

En este artículo, veremos cómo aplicar una función contra un acumulador y cada clave en el objeto en JavaScript. Los acumuladores pueden ser funciones, objetos, arreglos, etc. En este artículo, usamos el acumulador y la clave de un objeto contra la función.

Enfoque: En nuestro enfoque, usamos para reducir. Primero, obtenemos las claves del objeto y hacemos una función. Después de obtener las claves, usamos reduce para aplicar la función contra una colección de claves y acumuladores. En el método de reducción, usamos el acumulador y la clave como argumentos de la función de devolución de llamada, que es nuestra función.

Sintaxis:

Collection.reduce((accumulator, key)=>
    function(accumulator,key), InitialValue);

Ejemplo 1:

Javascript

<script>
    function ApplyingFn() {
 
        // Function that apply against accumulator
        function function(robj, key) {
 
            // Limits for salary for persons
            var l1 = 'Below 30000';
            var l2 = 'Below 40000';
            var l3 = 'Below 50000';
            var l4 = 'Above 50000';
 
            // Checking salary of persons
            if (m[key] < 30000) {
 
                // Creating group for same
                // salary below Limits
                robj[l1].push(key);
            }
            if (m[key] < 40000) {
 
                // Creating group for same
                // salary below Limits
                robj[l2].push(key)
            }
            if (m[key] < 50000) {
 
                // Creating group for same
                // salary below Limits
                robj[l3].push(key)
            }
            else {
 
                // Creating group for same
                // salary below Limits
                robj[l4].push(key)
            }
            return robj;
        }
 
        // object for the salary
        var k = {
            'Below 30000': [], 'Below 40000': [],
            'Below 50000': [], 'Above 50000': []
        };
 
        var m = {
            'Rahul': 15000, 'Shyam': 220000,
            'David': 420000, 'Sam': 35000, 'Ram': 450000
        };
 
        // Apply Function against accumulator
        // and key of object
        var l = Object.keys(m).reduce((accumulator,
            key) => function(accumulator, key), k);
        console.log(l);
    }
    ApplyingFn();
</script>

Producción:

{'Below 30000': ['Rahul'],

'Below 40000': ['Rahul', 'Sam'],

'Below 50000': ['Rahul', 'Sam'],

'Above 50000': ['Shyam', 'David','Ram']}

Ejemplo 2:

Javascript

<script>
    function ApplyingFn() {
 
        // Function which is applied
        // against accumulator
        function function(robj, value, key) {
 
            // Checking key is first or not
            if (robj[value] == undefined) {
 
                // Creating group for same key
                robj[value] = [];
                robj[value].push(key);
            }
 
            // If key is already taken
            else {
 
                // Inserting value in group
                robj[value].push(key)
            }
 
            return robj;
 
        }
        var m = {
            'Ms.Dhoni': 'Cricket',
            'Sunil Chhetri': 'Football',
            'Rishabh Pant': 'Cricket',
            'K.L Rahul': 'Cricket',
            'Ishan Pandita': 'Football',
        };
 
        // Apply Function against accumulator
        // and key of object
        var l = Object.keys(m).reduce((accumulator,
            key) => function(accumulator, m[key], key), {});
        console.log(l);
    }
    ApplyingFn();
</script>

Producción:

{'Cricket': ['Ms.Dhoni', 'Rishabh Pant', 'K.L Rahul'],
'Football': ['Sunil Chhetri', 'Ishan Pandita']}

Publicación traducida automáticamente

Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *