当前位置:首页 > JavaScript

js实现总计

2026-04-05 21:25:20JavaScript

在JavaScript中实现总计功能通常涉及数组元素的累加、对象属性的求和或表格数据的汇总。以下是几种常见场景的实现方法:

数组元素求和

对数字数组进行总计可直接使用 reduce 方法:

js实现总计

const numbers = [10, 20, 30, 40];
const total = numbers.reduce((sum, current) => sum + current, 0);
console.log(total); // 输出 100

对象属性求和

若需对对象数组中某个属性求和:

const items = [
  { name: 'A', price: 10 },
  { name: 'B', price: 20 },
  { name: 'C', price: 30 }
];
const totalPrice = items.reduce((sum, item) => sum + item.price, 0);
console.log(totalPrice); // 输出 60

动态表格数据总计

对HTML表格中某一列数据求和:

js实现总计

const table = document.getElementById('data-table');
const rows = table.querySelectorAll('tr');
let total = 0;

// 跳过表头,从第二行开始
for (let i = 1; i < rows.length; i++) {
  const cells = rows[i].querySelectorAll('td');
  const value = parseFloat(cells[2].textContent); // 假设第三列是数字
  if (!isNaN(value)) total += value;
}
console.log(total);

带条件筛选的求和

结合 filter 实现条件筛选后求和:

const transactions = [
  { amount: 100, type: 'income' },
  { amount: 50, type: 'expense' },
  { amount: 200, type: 'income' }
];
const incomeTotal = transactions
  .filter(t => t.type === 'income')
  .reduce((sum, t) => sum + t.amount, 0);
console.log(incomeTotal); // 输出 300

格式化输出结果

使用 toLocaleString 添加千位分隔符:

const grandTotal = 1234567.89;
const formattedTotal = grandTotal.toLocaleString('en-US', {
  style: 'currency',
  currency: 'USD'
});
console.log(formattedTotal); // 输出 "$1,234,567.89"

注意事项

  • 处理浮点数时建议使用 parseFloat 转换,避免字符串拼接导致的错误
  • 大数据量时可考虑分块计算或Web Worker避免主线程阻塞
  • 对于财务计算,建议使用专门库(如currency.js)处理精度问题

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <…