Javascript - 表格中的条件总和

时间:2017-06-27 14:19:19

标签: javascript

我想在找到解决方案之后添加表值 但是我的老师不喜欢它,你有更优雅的方式吗?

我的代码:https://pastebin.com/0ZQBgU7b

我的解决方案:

const $ = document.querySelectorAll.bind(document);
$('.total')[0].textContent =
[...$('.ages')]
.map(td => parseInt(td.textContent))
.filter(ages => ages >= 18)
.reduce((total, ages) => total + ages, 0);

P.S。 我的老师不喜欢它。

1 个答案:

答案 0 :(得分:3)

你正在使用3个循环,其中一个就足够了。这里不需要地图和过滤器:

const $ = document.querySelectorAll.bind(document);
$('.total')[0].textContent =
[...$('.ages')].reduce((total, ages) => 
    total + (parseInt(ages, 10) >= 18 ? parseInt(ages, 10) : 0), 0);

在这种情况下,使用Array.from()代替传播操作符也是一个好主意。

Array.from($('.ages')).reduce(...)