用 JavaScript 计算加权平均值

JavaScriptJavaScriptBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,我们将探索如何使用 JavaScript 计算两个或多个数字的加权平均值。我们将使用 Array.prototype.reduce() 方法来创建值的加权和与权重的总和,然后将它们相除得到加权平均值。这个实验将帮助你理解加权平均值的概念以及如何在 JavaScript 中实现它。


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`") subgraph Lab Skills javascript/variables -.-> lab-28695{{"`用 JavaScript 计算加权平均值`"}} javascript/data_types -.-> lab-28695{{"`用 JavaScript 计算加权平均值`"}} javascript/arith_ops -.-> lab-28695{{"`用 JavaScript 计算加权平均值`"}} javascript/comp_ops -.-> lab-28695{{"`用 JavaScript 计算加权平均值`"}} javascript/array_methods -.-> lab-28695{{"`用 JavaScript 计算加权平均值`"}} javascript/higher_funcs -.-> lab-28695{{"`用 JavaScript 计算加权平均值`"}} end

如何用 JavaScript 计算加权平均值

要在 JavaScript 中计算两个或多个数字的加权平均值,请遵循以下步骤:

  1. 打开终端/SSH 并输入 node 开始练习编码。
  2. 使用 Array.prototype.reduce() 创建值的加权和与权重的总和。
  3. 将值的加权和除以权重的总和以获得加权平均值。

以下是 weightedAverage 函数的 JavaScript 代码:

const weightedAverage = (nums, weights) => {
  const [sum, weightSum] = weights.reduce(
    (acc, w, i) => {
      acc[0] = acc[0] + nums[i] * w;
      acc[1] = acc[1] + w;
      return acc;
    },
    [0, 0]
  );
  return sum / weightSum;
};

你可以使用 weightedAverage 函数来计算一组数字和一组权重的加权平均值,如下所示:

weightedAverage([1, 2, 3], [0.6, 0.2, 0.3]); // 1.72727

总结

恭喜你!你已经完成了加权平均值实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程