比较自己与班级平均分【一天一个算法陶冶情操 | 算法练习生第2天】

js 复制代码
/**
 * 你的课堂上有一个测试,你通过了。恭喜你!但是你是一个有野心的人。你想知道自己是否比班上的学生的平均成绩更好。
 * 你会收到一个包含同龄人考试成绩的数组。现在计算平均值并比较你的分数!
 * 如果你更好,请返回True,否则False!
 * 注意:你的分数不包括在班级分数组中。为了计算平均点,你也可以将分数添加到给定的数组中!
 */
// 第1种
function betterThanAverage(classPoints, yourPoints) {
  const average = classPoints.reduce((a, b) => a + b, 0) / classPoints.length
  return yourPoints > average
  /**
   * 简析
   * 通过数组的reduce方法计算出班级总分, 然后除以学生人数获取平均分 然后比较一下
   * 我平常用到reduce比较少 这里简单复习一下
   * reduce() 有两个参数, 第一个是个函数 第二个参数是初始值, 会被传入到函数的第一个参数
   * 函数的第一个参数值为函数结果, 函数的第二个参数为数组的value, 从索引0开始传入, 每一次的函数结果会作为参数传递到第一个参数中, 由此实现累加
   */
}
// 第2种
function betterThanAverage2(classPoints, yourPoints) {
  let totalCount = 0
  for (let i = 0; i < classPoints.length; i++) {
    totalCount += classPoints[i]
  }
  const average = totalCount === 0 ? 0 : totalCount / classPoints.length
  return yourPoints > average
}
/**
 * 简析
 * 遍历获取总值 然后获取平均分进行比较
 */
console.log(betterThanAverage([89, 92, 68, 75], 75))
console.log(betterThanAverage2([89, 92, 68, 75], 89))
相关推荐
花间相见几秒前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
kyriewen17 分钟前
面试官让我用 AI 重构一个 8 年陈的 React 组件——他说他不看代码,只看我会不会拆
前端·javascript·面试
计算机魔术师17 分钟前
700吉瓦「幽灵用电」:美国AI数据中心的抢电闹剧正在失控
前端
IT_陈寒25 分钟前
JavaScript数组排序踩的坑,差点让我加班到凌晨
前端·人工智能·后端
风骏时光牛马27 分钟前
提示词工程:大模型交互的核心构建艺术
前端
今日无bug1 小时前
大模型的回答是怎么一个字一个字蹦出来的?前端流式输出解析
前端·llm·agent
计算机魔术师1 小时前
Anthropic 复盘 Claude 模型越权访问真实系统事件并改进对齐与安全措施
前端
掘金者阿豪1 小时前
Seedance 2.0/2.5 虚拟素材能跨 Key 共用吗?一次讲清 Asset ID、账号隔离与 SaaS 素材架构
前端·后端
Jacky19991 小时前
Electron + Vue 3 桌面打字游戏实战:从 VSCode 扩展到独立应用的架构改造
javascript
用户50093768390391 小时前
热敏小票 Web 打印:我在 58/80mm 上折腾的两周
前端·vue.js