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