我一直在寻找,但没有找到任何在JavaScript中做到这一点的方法,或者是否有更好的方法。
我的表单有一个输入特定字符串的文本区域字段,例如:
1/5/8 18 31.2 0 1847550953 13013135 5598945 3.00e-01
1/5/9 18 34.2 0 1748942583 6401826 5598945 3.00e-01
1/5/10 18 34.6 0 1847550953 13013135 5598945 3.00e-01
1/5/11 18 34.4 0 1847550953 13013135 5598945 3.00e-01
数据采用这种格式,但数字可能不同。 我正在尝试做的是有一个脚本来抓取第 3 列中的内容,因此在此示例中,31.2、34.2、34.6 和 34.4 然后获取这些数字,通过将它们相加并除以 4 然后在不同的文本区域中显示结果来给我它们的平均值。
我也想知道它是否可以在单个脚本中完成,还是需要两个脚本。 一个用于解析,另一个用于计算和显示文本区域中的平均值。
split
行和map
以匹配第三列。然后,您可以找到平均值并将结果放在另一个文本区域中:
const input = `1/5/8 18 31.2 0 1847550953 13013135 5598945 3.00e-01
1/5/9 18 34.2 0 1748942583 6401826 5598945 3.00e-01
1/5/10 18 34.6 0 1847550953 13013135 5598945 3.00e-01
1/5/11 18 34.4 0 1847550953 13013135 5598945 3.00e-01`;
const thirdRowMatches = input.split('n')
.map(line => line.split(/ +/)[2])
const avg = thirdRowMatches.reduce((a, str) => a + Number(str), 0) / thirdRowMatches.length;
document.querySelector('#textarea2').value = avg;
<textarea id="textarea2"></textarea>