使用文本输入实现平均分摊金额的 JavaScript 教程

使用文本输入实现平均分摊金额的 javascript 教程 - 创想鸟

本文档旨在提供一个使用 JavaScript 实现平均分摊金额功能的教程。该教程演示了如何使用文本输入框收集参与者姓名和金额,并计算出每个人应分摊的平均金额。我们将详细讲解代码实现,并提供完整的 HTML 和 JavaScript 代码示例,帮助开发者理解和应用该功能。

功能概述

我们的目标是创建一个简单的费用分摊应用,用户可以输入参与者的姓名和花费金额,应用会自动计算出总金额和平均每人应分摊的金额。关键点在于,我们使用 input type=”text” 来接收参与者姓名,并使用 input type=”number” 接收金额,并动态更新显示结果。

HTML 结构

首先,我们需要构建 HTML 结构,包括输入框、按钮和显示结果的区域。

Expenses app

Enter how much each person spent

Nombre


Monto



Total:

A cada uno le toca aportar:

这段 HTML 代码定义了以下元素:

立即学习“Java免费学习笔记(深入)”;

Writer Writer

企业级AI内容创作工具

Writer 176 查看详情 Writer 一个标题

Expenses app

两个输入框,分别用于输入姓名 (#nombre) 和金额 (#monto)。一个按钮,点击时触发 ir() 函数。几个用于显示计算结果的

元素,包括总金额 (#final)、参与者列表 (#list)、总人数 (#total-people) 和平均金额 (#average)。

JavaScript 实现

接下来,我们编写 JavaScript 代码来实现核心逻辑。

const arr = []const nombre = document.getElementById("nombre")const monto = document.getElementById("monto")const total = document.getElementById("total")const final = document.getElementById("final")const aporte = document.getElementById("aporte")const list = document.getElementById("list")const average = document.getElementById("average")function ir() {    let nombreVal = nombre.value    let montoVal = monto.value    if(nombreVal === '' || montoVal === '') return    let exist = arr.find(({name, score}) => name === nombreVal)    if (exist) {      exist.score = Number(montoVal)    } else {      arr.push({name:nombreVal, score: montoVal})    }    let totalScore = arr.reduce((total, ele) => total += Number(ele.score), 0)    let totalPeople = arr.length    list.textContent  = '';    arr.forEach(ele => {      let nodeNombre = document.createElement('p')      nodeNombre.innerHTML = ele.name + ': ' + ele.score      list.appendChild(nodeNombre);    })    final.innerHTML = `${totalScore}`;    aporte.innerHTML = `${totalPeople}`;    average.innerHTML =  `average : ${totalScore/totalPeople}`  };

这段 JavaScript 代码实现了以下功能:

获取元素引用: 使用 document.getElementById() 获取 HTML 元素,方便后续操作。定义 ir() 函数:  这个函数在点击按钮时被调用,负责处理用户输入和计算。获取输入值: 从 #nombre 和 #monto 输入框获取用户输入的姓名和金额。输入验证: 检查姓名和金额是否为空,如果为空则直接返回,不进行后续计算。数据存储: 使用数组 arr 存储参与者信息,包括姓名和金额。检查用户是否存在:  使用 arr.find() 检查是否已存在同名用户,如果存在则更新金额,否则添加新用户。计算总金额和平均金额: 使用 arr.reduce() 计算总金额,并计算平均金额。更新显示:  将计算结果更新到对应的 HTML 元素中,包括总金额 (#final)、参与者列表 (#list) 和平均金额 (#average)。

代码详解

数据存储结构:  arr 数组存储的是对象,每个对象包含 name (姓名) 和 score (金额) 两个属性。arr.find() 的使用:  arr.find() 方法用于查找数组中符合条件的第一个元素。如果找到,则返回该元素;否则返回 undefined。arr.reduce() 的使用: arr.reduce() 方法用于将数组中的所有元素累加到一个值。它接收一个回调函数作为参数,该回调函数接收两个参数:total (累加值) 和 ele (当前元素)。动态更新列表:  使用 list.textContent = ”; 清空列表内容,然后遍历 arr 数组,动态创建

元素并添加到 #list 元素中。

总结

通过以上步骤,我们成功创建了一个简单的费用分摊应用。该应用使用文本输入框收集参与者姓名和金额,并计算出每个人应分摊的平均金额。希望这个教程能帮助你理解和应用 JavaScript,并构建出更复杂的 Web 应用。

以上就是使用文本输入实现平均分摊金额的 JavaScript 教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/940551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月29日 17:56:26
下一篇 2025年11月29日 17:56:48

相关推荐

  • 零知识证明:隐私保护与高效验证

    零知识证明(ZKP)是一种允许证明者在不泄露信息的前提下向验证者证明陈述真实性的技术,其核心在于概率性与交互性,具备完备性、可靠性和零知识性三大属性。它通过简洁且非交互的证明机制,如zk-SNARKs和zk-STARKs,实现高效验证,广泛应用于区块链隐私保护(如匿名交易、ZK-Rollups)、云…

    2025年12月10日
    000
  • DEX 聚合器:优化去中心化交易体验

    DEX聚合器通过整合多个去中心化交易所的流动性,为用户提供最优交易路径、最低滑点和最佳汇率,解决流动性碎片化、操作复杂等问题,代表项目包括1inch、Paraswap、Matcha等,与CEX相比,DEX聚合器无需托管资金和KYC,用户掌握完全控制权,但需支付Gas费且交易速度受链上确认影响。 在加…

    2025年12月10日
    000
  • 预言机机制:连接现实与区块链的桥梁

    预言机是连接区块链与现实世界的无形桥梁,解决智能合约无法访问外部数据的问题,通过去中心化机制将链下数据安全可靠地引入链上,赋能DeFi、保险、供应链等应用场景,主流项目包括Chainlink、Band Protocol、API3、Tellor和Pyth Network,同时依赖Binance、OKX…

    2025年12月10日
    000
  • 元宇宙地产:虚拟世界的房地产热潮

    元宇宙地产是基于区块链的虚拟土地,以NFT形式确权,具备稀缺性、可交易性和多功能用途,其价值受平台活跃度、社区生态和应用场景驱动,尽管存在市场波动、监管不明等风险,但随着VR/AR、AI与区块链技术融合,未来将向虚实融合、跨平台互操作及去中心化治理发展,成为数字经济的重要组成部分。 元宇宙地产,一个…

    2025年12月10日
    000
  • 什么是再质押(Restaking)?2025年值得关注的八大再质押项目介绍

    目录 什么是Restaking,它是如何运作的?Restaking 为何在2025 年如此重要?2025 年值得关注的八大再质押加密项目1. EigenLayer (EIGEN) – 以太坊再质押协议2. Solayer (LAYER) – Solana 再质押协议3. Ke…

    2025年12月10日 好文分享
    000
  • 狗狗币的狗是什么狗?

    狗狗币的狗是真实存在的日本柴犬,名叫Kabosu,雌性,其2010年一张带神烦表情的照片走红网络,演变为“Doge”梗,后被用作狗狗币标志,成为互联网文化与加密货币结合的传奇符号。 总的来说,狗狗币(Dogecoin)的标志性头像,那只带着“神烦”表情的狗狗,是一只真实存在、有名字的日本柴犬。它的名…

    2025年12月10日
    000
  • Solana 的高性能如何瞄准华尔街

    Solana凭借PoH时钟、65,000 TPS高吞吐量和亚秒级结算,支持链上订单簿、高频交易与衍生品清算,以低费用和高透明度满足华尔街对效率与合规的需求。 Solana凭借其独特的架构提供了极高的交易吞吐量和亚秒级的结算速度,同时维持着极低的交易成本,这些特性直接满足了华尔街高频交易、复杂衍生品清…

    2025年12月10日
    000
  • XRP瑞波币9月价格预测

    无法精准预测XRP在9月的具体价格,因其受法律诉讼进展这一不可预测事件的深度影响,任何单一数字预测都极具风险。 对于XRP在9月份的价格走势,最核心的观点是:其价格预测比任何其他主流数字资产都更加复杂和不确定。 这主要是因为XRP的命运不仅受到宏观市场情绪和历史季节性因素(如“九月效应”)的影响,更…

    2025年12月10日
    000
  • SOL(Solana币)9月价格预测

    SOL在9月将面临技术实力与市场情绪的博弈,价格大概率呈现高波动性震荡,能否跑赢大盘取决于生态能否持续产出爆款应用。 对于SOL(Solana)在9月份的价格预测,核心观点是:其走势将是其强大的技术基本面、活跃的生态系统与宏观市场情绪、历史季节性逆风之间的一场角力。 作为一个以高性能著称的公链,SO…

    2025年12月10日
    000
  • 从代码到货币:AI如何让算法稳定币在2025年真正实现了“稳定”的承诺

    到2025年,人工智能将通过引入高级预测模型、动态实时调节机制和智能风险管理,从根本上解决算法稳定币的脱钩困境。ai不再是僵化的代码,而是能够感知市场、学习并自主进化的“大脑”,从而真正兑现其“稳定”的承诺。 2025年虚拟货币主流交易所: 币安官网直达:  欧易官网直达:  火币官网直达:  AI…

    2025年12月10日
    000
  • Animoca分析:400万亿美元传统金融(TradFi)市场为RWA代币化带来巨大发展空间

    目录 RWA价值突破历史高点多链生态将主导RWA发展,超越以太坊单一链条 最新研究指出,rwa代币化总值已攀升至前所未有的水平,而传统金融领域高达400万亿美元的可触达市场,或将为这一趋势注入更强增长动力。 Animoca预测,在未来的多链架构下,真实世界资产的代币化有望承载数万亿美元的传统金融资产…

    2025年12月10日
    000
  • 亚盘btc长时间持续买入是真的亚洲人一直在买比特币吗

    不,亚盘BTC持续买入并非仅因亚洲人购买,而是全球量化基金、做市商及跨时区交易者在亚洲交易时段集中执行策略所致,反映的是时间窗口内的市场行为,而非买家身份。 “亚盘BTC长时间持续买入”这一现象,并不意味着就是亚洲地区的投资者在持续不断地买入。更准确的理解是:这代表着在全球协调的亚洲交易时间段内,市…

    2025年12月10日
    000
  • 如果山寨季爆发一级市场哪些币可以布局?

    最明智的布局是聚焦核心叙事赛道而非单个项目,重点关注AI+Crypto、DePIN、RWA和模块化与链抽象四大方向,并通过团队背景、技术可行性、代币经济模型和社区生态等维度系统评估早期项目,以在高风险的一级市场中提升成功概率。 当山寨季的浪潮来临时,一级市场无疑是蕴藏着最高回报潜力的“宝藏地”,但同…

    2025年12月10日
    000
  • tokens在ai中的作用 tokens的作用是什么 tokens的用途

    Tokens是AI处理文本的基本单位,通过分词将文本切分为词、字符或子词等单元,再映射为数字ID供模型计算,实现语言理解与生成,其数量直接影响模型输入、上下文处理及使用成本。 在人工智能,特别是自然语言处理(NLP)领域,tokens是模型处理和理解文本的基本单位。它们是将人类语言转换为机器可以计算…

    2025年12月10日
    000
  • 为什么很多上线即巅峰的代币还有那么多人买

    “上线即巅峰”的代币仍有大量买盘,核心在于市场情绪和预期主导价格,而非实际价值。买家受FOMO、彩 票效应和新近效应驱动,被宏大叙事、KOL营销和社区热度吸引,同时因信息不对称而误判风险。不同买家动机各异:新手追高怕错过,短线交易者博波动,信徒信奉项目愿景。而卖方多为早期投资者、团队和空投猎人,借高…

    2025年12月10日
    000
  • 币圈前十交易所APP榜单 比特币正规交易APP十大排名

    在数字资产的世界里,选择一个可靠、功能全面且用户体验良好的交易平台至关重要。全球范围内涌现出众多加密货币交易所app,它们各自凭借独特的优势吸引着不同需求的用户。对于用户而言,一个理想的交易应用不仅意味着资产的安全性得到保障,也代表着能够便捷地捕捉市场机遇。 币圈前十交易所APP榜单 比特币正规交易…

    2025年12月10日 好文分享
    000
  • 币圈开仓逻辑分析之为什么做多/做空?

    开仓逻辑是交易成败的关键,它将随机博弈转化为可复盘的理性策略。文章强调,健全的开仓逻辑需整合技术形态、市场结构、宏观叙事与情绪指标,通过多因素共振提升胜率。做多应基于上升趋势、支撑位反弹或突破阻力等技术信号,辅以基本面利好与市场情绪支持;做空则相反,需识别下跌趋势、阻力位受阻或支撑破位,并结合利空消…

    2025年12月10日
    000
  • 2025年比特币持有量排名(附比特币交易所排名)

    目录 购买比特币优惠码比特币持有量的主要类别交易所账户上市公司MicroStrategy挖k公司其他公司政府持有私人公司与早期采用者中本聪 (Satoshi Nakamoto)匿名的巨鲸账户比特币交易所排名前20介绍 2025年比特币持有量排名最多的人是谁?比特币持有量排名最多的国家是谁呢? 对20…

    2025年12月10日
    000
  • 什么是Animecoin (ANIME币)?ANIME价格预测2025-2030年

    目录 什么是Animecoin (ANIME)?当前市场状况和价格Animecoin (ANIME) 的历史表现基本面分析:Animecoin(ANIME)的潜在增长之路代币供应指标影响Animecoin (ANIME)价格的因素风险与未来展望Animecoin (ANIME) 2025-2030年…

    2025年12月10日
    000
  • 如何识别加密市场的当前趋势/叙述?加密市场当前趋势识别方法

    目录 1.观察交易所中涨幅领先的代币 2.关注社交媒体上的趋势信号 3.借助研究工具与机构分析报告 4.深入挖掘链上数据动向 5.总结与策略建议 在加密市场中,叙事不仅驱动资金流动,也深刻影响投资者心理。抓住正在兴起的趋势,往往意味着更高的收益潜力;而判断失误则可能导致高位接盘或错失风口。那么,我们…

    2025年12月10日 好文分享
    000

发表回复

登录后才能评论
关注微信