Как обрабатывать несколько наборов числовых данных для расчета с помощью JavaScript?
Допустим, мы дали набор данных, состоящий из нескольких числовых значений, задача состоит в том, чтобы использовать этот набор данных для некоторых вычислений. Итак, мы будем создавать словарь, подобный структуре данных, используя массив объектов . Мы обсудим, как можно использовать некоторые методы JavaScript для обработки этого типа данных. Чтобы обрабатывать несколько наборов числовых данных для расчета, мы можем использовать функцию JavaScript filter () и функцию find ().
Примеры: Учитывая данные сотрудников.
id | возраст | сал | exp | ком 344 | 45 | 40000 | 12 | 3000 672 | 32 | 30000 | 5 | 8000
Нам нужно выполнить несколько шагов, чтобы выполнить расчет для нескольких наборов данных.
Примечание. Массив объекта позволяет хранить несколько значений в одной переменной. Он хранит последовательную коллекцию фиксированного размера элементов одного и того же типа. Итак, мы используем здесь массив объекта, подобного словарю.
Шаг 1. Мы преобразуем этот набор данных в массив объектов, как показано ниже:
// Массив объекта словаря сотрудник = [ {id: 344, age: 45, sal: 40000, exp: 12, com: 3000}, {id: 672, возраст: 32, sal: 30000, exp: 5, com: 8000} ]
Шаг 2: Теперь у нас уже есть наборы данных в виде массива объектов.
- Пример 1: Теперь мы посмотрим, как мы будем манипулировать данными или обрабатывать их в соответствии с нашими потребностями. В этом примере используется метод filter () (можно вычислить несколько значений.)
<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>
- Выход:
Общий доход Сотрудника со стажем 12 лет: 43000
- Пример 2: В этом примере используется метод find () (используется только для вычисления значений для уникальных данных, таких как 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>
- Выход:
Общий доход сотрудника с id: 672 = 38000