JavaScript:将CSV转换为数组并对其执行操作

JavaScript:将CSV转换为数组并对其执行操作,javascript,arrays,Javascript,Arrays,在HTML中,我有一组以逗号分隔的数字作为字符串。我想在JavaScript中将这些数字转换成一个数组,然后使用数组中的数字执行诸如添加和查找平均值之类的功能 我的页面如下所示: 我现在的代码是: <script> var number = document.getElementById("divout") //up here i want to create an array and use the array in the function below. var sum =

在HTML中,我有一组以逗号分隔的数字作为字符串。我想在JavaScript中将这些数字转换成一个数组,然后使用数组中的数字执行诸如添加和查找平均值之类的功能

我的页面如下所示:

我现在的代码是:

<script>

var number = document.getElementById("divout")
//up here i want to create an array and use the array in the function below.

var sum = 0;
var average = 0;
var squared = 0;

function math(x)
{
    document.write("amount of numbers=" + x.length + "<br>")
    for (var i = 0; i <= x.length - 1; i++)
    {
        sum = sum+a[i];
        squared = squared+(x[i]*x[i]);
        average = sum/x.length;
    }
}
math(number)
document.write("sum="+ sum + "<br>")
document.write("average-" + average + "<br>")
document.write("squared=" + squared + "<br>")

</script>

All Divisors:
<br>
<textarea rows="10" cols="50" placeholder="Divisors" id="divout">0,1,3,7,21</textarea>
<br>

变量编号=document.getElementById(“divout”)
//在这里,我想创建一个数组,并在下面的函数中使用该数组。
var总和=0;
var平均值=0;
var平方=0;
函数数学(x)
{
文档。写入(“数字量=“+x.length+”

对于(var i=0;i您可以使用
arr.split(“”
函数来实现这一点。首先获取元素内部的内容,然后将其拆分为数组。以下是一个JSFIDLE示例:


我没有这样做,这是我的示例,但您可能希望在执行算术之前使用
parseInt()
将数组中的项转换为整数,因为它们当前是字符串值。

看起来您希望1)求数字之和,2)求单个数字的平方,3)求数字之和的平均值。你不能用这个循环,当然是关于数字

下面是一个您可能会发现有用的替代方法:

Helper函数返回给定id的元素

var Q = function (id) { return document.getElementById(id); };
获取
divout
textContent
,将其拆分为一个数组,然后为每个数组将字符串强制为整数

var arr = Q('divout').textContent.split(',').map(Number);
var sum = arr.reduce(sumNumbers);
var square = arr.map(squareNumbers);
var avg = sum / arr.length;
map
reduce
一起使用的两个函数,用于查找数组中数字的和和和平方

var sumNumbers = function (p, c) { return p + c; };
var squareNumbers = function (x) { return x * x; };
查找数字的和、平方和平均值。
map
返回一个新数组,
reduce
返回一个整数

var arr = Q('divout').textContent.split(',').map(Number);
var sum = arr.reduce(sumNumbers);
var square = arr.map(squareNumbers);
var avg = sum / arr.length;
将操作结果添加到DOM中

Q('sum').textContent = sum; // 32
Q('square').textContent = square; // 0,1,9,49,441
Q('avg').textContent = avg; // 6.4

您还想添加预期结果,因为不清楚您需要显示什么。注意:很抱歉,我下次会这样做,这是我第一次使用此网站帮助盲人