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