【问题标题】:Javascript average of first column from 2 row [closed]2行第一列的Javascript平均值[关闭]
【发布时间】:2019-01-16 16:17:56
【问题描述】:

<table>
 <tr>
  <th>Numbers</th>
  <th>Names</th>
 </tr>
 <tr>
  <th>2</th>
  <th>Name 1</th>
 </tr>
 <tr>
  <th>26</th>
  <th>Name 2</th>
 </tr>
</table>

在我的代码中,行是从数据库中导入的,因此它们都来自表中的第 2 行。

我想从第二行中找到第一列中所有数字的平均数,因为第一行中只有文本。

【问题讨论】:

  • 请提供一些您尝试过的代码以及有什么问题
  • 我不知道该怎么做。我问是否有人知道可以从 2 行获取第一列平均值的代码。然后 console.log 得到答案。
  • 如果这是在服务器上呈现的,只需在 SQL 查询中计算 AVG() 并将其包含在页面中的某个位置。如果它是客户端渲染的,请尝试在数组中获取原始数据,这样您就不必查看渲染表,只需循环原始数组即可。最坏的情况,只需选择第二行的第一个单元格并打开并解析里面的文本。

标签: javascript html html-table average


【解决方案1】:

使用Object#valuesArray#reducequerySelectorAll

const dataElements = document.querySelectorAll("table tr:not(:first-child) > th:first-child");

const res = Object.values(dataElements)
.reduce((a,c)=>a+Number(c.innerText),0)/dataElements.length;

console.log(res);
&lt;table&gt; &lt;tr&gt; &lt;th&gt;Numbers&lt;/th&gt; &lt;th&gt;Names&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;th&gt;2&lt;/th&gt; &lt;th&gt;Name 1&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;th&gt;26&lt;/th&gt; &lt;th&gt;Name 2&lt;/th&gt; &lt;/tr&gt;&lt;/table&gt;

【讨论】:

  • 谢谢,工作正常,通俗易懂!干得好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多