¿Cómo manejar múltiples conjuntos de datos numéricos para el cálculo usando JavaScript?

Supongamos que hemos dado un conjunto de datos que consta de múltiples valores numéricos , la tarea es usar ese conjunto de datos para algunos cálculos. Por lo tanto, crearemos una estructura de datos similar a un diccionario utilizando una array de objetos . Discutiremos cómo se pueden usar algunos métodos de JavaScript para manejar este tipo de datos. Para manejar múltiples conjuntos de datos numéricos para el cálculo, podemos usar la función filter() de JavaScript y la función find() .

Ejemplos: Dado un dato de Empleados.

 id |age |  sal  | exp | com
344 | 45 | 40000 | 12  |  3000
672 | 32 | 30000 | 5   |  8000

Tenemos que seguir algunos pasos para realizar un cálculo en múltiples conjuntos de datos.

Nota: la array de objetos le permite almacenar múltiples valores en una sola variable. Almacena una colección secuencial de tamaño fijo de elementos del mismo tipo. Entonces, estamos usando una array del objeto similar a un diccionario aquí.

Paso 1: convertiremos este conjunto de datos en una array del objeto como se muestra a continuación:

// Array of the dictionary object
employee = [
    {id: 344, age: 45, sal: 40000, exp: 12, com: 3000},
    {id: 672, age: 32, sal: 30000, exp: 5, com: 8000}
]

Paso 2: Ahora ya tenemos conjuntos de datos en forma de una array de objetos.

  • Ejemplo 1: ahora veremos cómo manipularemos o manejaremos los datos según nuestra necesidad. En este ejemplo, usando el método filter() (puede calcular múltiples valores).

       
    <script>
      
        // Array of the dictionary object
        employee = [{
                id: 344,
                age: 45,
                sal: 40000,
                exp: 12,
                com: 3000
            },
            {
                id: 672,
                age: 32,
                sal: 30000,
                exp: 5,
                com: 8000
            }
        ]
      
    /* Method that calculates the total salary 
    of the employees according to the given
    experience*/
    function totalIncome(exp) {
      
        /* The filter() method uses another conditional
        method as an argument */
        let empWithExp = employee.filter((emp) => emp.exp === exp);
        let result = 0;
      
        /* All the employee's total salary with given experience is
        calculated here we are using forEach() method to calculate 
        salary of more than one employees */
        empWithExp.forEach((emp) => {
            result += emp.sal + emp.com;
        });
        return result;
    }
    //printing and calling the method totalIncome()
    document.write("Total income of Employee with experience "+
                " of 12years: " + totalIncome(12)); 
    </script>                    
  • Producción:
    Total income of Employee with experience of 12years: 43000
  • Ejemplo 2: en este ejemplo, se usa el método find() (se usa solo para calcular valores para datos únicos como id).

    <script>
      
        // Array of dictionary object
        employee = [{
                id: 344,
                age: 45,
                sal: 40000,
                exp: 12,
                com: 3000
            },
            {
                id: 672,
                age: 32,
                sal: 30000,
                exp: 5,
                com: 8000
            }
        ]
      
    // Function to calculate total salary of a
    // Employee using employee id
    function totalIncome(id) {
        let result;
      
        /* Find() method takes a conditional function 
           as a parameter, array.find() method in JavaScript 
           returns the value of the first element, In the array 
           that satisfies the provided testing function */
        let empWithId = employee.find((emp) => emp.id === id);
        result = empWithId.sal + empWithId.com;
        return result;
    }
      
    // Printing and calling the function totalIncome()
    document.write("Total income of the Employee having"
                      " id:672 = " + totalIncome(672)); 
      
    </script>                                    
  • Producción:
    Total income of the Employee having id:672 = 38000

Publicación traducida automáticamente

Artículo escrito por arnubop 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 *