Как обрабатывать несколько наборов числовых данных для расчета с помощью JavaScript?

Опубликовано: 1 Декабря, 2021

Допустим, мы дали набор данных, состоящий из нескольких числовых значений, задача состоит в том, чтобы использовать этот набор данных для некоторых вычислений. Итак, мы будем создавать словарь, подобный структуре данных, используя массив объектов . Мы обсудим, как можно использовать некоторые методы 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