分割数组的单列

时间:2018-07-16 13:12:11

标签: javascript jquery

我有一个名为sales的数组,如下所示。

我有一个计算金额标准差(帖子底部)的函数。

我正在尝试使用slice函数,但是有一些问题。我想从第10行到第50行的Sales数组中切出一部分,并将其传递给我的标准差函数。

 Sales : Array(500)
 0: {DateSale: "2018-01-01T00:00:00", Currency: "USD", Amount: 325} 
 1: {DateSale: "2018-01-02T00:00:00", Currency: "USD", Amount: 6832}
 ...

下面的行不起作用

  

standardDevation(Sales.Amount.slice(10,50));

错误消息,

  

未捕获的TypeError:无法读取未定义的属性“切片”

以下行的工作方式是应用了slice函数。但是我的standardDevation函数返回NaN。我知道我可以将值更改为values.Amount,但我想知道是否有可能仅对Sales数组的Amount字段进行切片吗?因为如果我要计算另一个数组的标准偏差,并且它没有字段Amount,我认为它将不起作用?

  

standardDevation(Sales.slice(10,50));

function standardDeviation(values) {
var avg = average(values);

var squareDiffs = values.map(function (value) {
    var diff = value - avg;
    var sqrDiff = diff * diff;
    return sqrDiff;
});

var avgSquareDiff = average(squareDiffs);

var stdDev = Math.sqrt(avgSquareDiff);
return stdDev;
}

1 个答案:

答案 0 :(得分:2)

您要获取Sales数组的一部分,然后映射输出以获取要传递给函数的数字数组:

standardDevation(Sales.slice(10,50).map(s => s.Amount));