Среднее значение сопоставленного массива

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим концепцию сопоставления и уменьшения массивов в JavaScript. В частности, мы узнаем, как использовать функцию averageBy() для вычисления среднего значения массива после сопоставления каждого элемента с определенным значением с использованием заданной функции. С помощью практических упражнений и примеров мы углубим наше понимание этих мощных методов массивов и того, как их можно использовать для упрощения нашего кода.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28483{{"Среднее значение сопоставленного массива"}} javascript/data_types -.-> lab-28483{{"Среднее значение сопоставленного массива"}} javascript/arith_ops -.-> lab-28483{{"Среднее значение сопоставленного массива"}} javascript/comp_ops -.-> lab-28483{{"Среднее значение сопоставленного массива"}} javascript/array_methods -.-> lab-28483{{"Среднее значение сопоставленного массива"}} javascript/higher_funcs -.-> lab-28483{{"Среднее значение сопоставленного массива"}} javascript/destr_assign -.-> lab-28483{{"Среднее значение сопоставленного массива"}} end

Инструкции по вычислению среднего значения сопоставленного массива

Для вычисления среднего значения массива вы можете сопоставить каждый элемент с новым значением с использованием заданной функции. Вот шаги:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Array.prototype.map(), чтобы сопоставить каждый элемент со значением, возвращаемым функцией fn.
  3. Используйте Array.prototype.reduce(), чтобы добавить каждое сопоставленное значение к накапливающемуся значению, инициализированному значением 0.
  4. Разделите полученный массив на его длину, чтобы получить среднее значение.

Вот код, который вы можете использовать:

const averageBy = (arr, fn) =>
  arr
    .map(typeof fn === "function" ? fn : (val) => val[fn])
    .reduce((acc, val) => acc + val, 0) / arr.length;

Вы можете протестировать эту функцию с использованием следующих примеров:

averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 5
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 5

Резюме

Поздравляем! Вы завершили практическое занятие по вычислению среднего значения сопоставленного массива. Вы можете выполнить больше практических заданий в LabEx, чтобы улучшить свои навыки.