jquery - 多个子数组中特定索引处的值的总和/平均值 - jQuery

标签 jquery arrays

我有一个数组形式的数据,其中包含多个子数组 - 每个子数组包含多个数组,这些数组由两个配对整数、一个时间戳和一个值组成。数组示例:

var data = [
  [
    [1519603200000, 17],
    [1519689600000, 20],
    [1519776000000, 16],
    [1519862400000, 21]
  ],
  [
    [1519603200000, 6],
    [1519689600000, 4],
    [1519776000000, 6],
    [1519862400000, 8]
  ]
]

我需要的是数组中所有值(不是时间戳)的总和仅在第一个子数组中即数据[0]

在上面的例子中是 17 + 20 + 16 + 21 = 74

然后我需要该子数组的这些值的平均值(大概可以通过将总数除以 data[0].length - 1 来计算)

我正在努力仅选择每个数组对中的值而不是时间戳。

请任何人提出一种使用 jQuery 对第一个子数组的值进行求和和平均的有效方法,请记住我的数据最终可能包含数百个 [时间戳,值] 对?

非常感谢您的帮助。

最佳答案

您可以使用 array#reduce 对数组中索引 1 处的值求和。

var data = [ [ [1519603200000, 17], [1519689600000, 20], [1519776000000, 16], [1519862400000, 21] ], [ [1519603200000, 6], [1519689600000, 4], [1519776000000, 6], [1519862400000, 8] ] ],
    sum = data[0].reduce((sum,a) => sum + a[1], 0),
    average = sum /data[0].length;
console.log(sum, average);

关于jquery - 多个子数组中特定索引处的值的总和/平均值 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49277751/

相关文章:

javascript - 我如何在 jquery 中为元素选择器执行 OR?

javascript - 合并/替换 Javascript 数组

javascript - 如何将文件逐行读取到 node.js 中的数组中

java - JAVA实例化具有多个元素的数组

javascript - 附加(html)不适用于脚本

javascript - jQuery $.delegate() 单个选择器多个事件还是 $.bind() 更好的解决方案?

javascript - 添加新的 Observable 到由 ko.mapping.fromJS 映射的 ObservableArray

javascript - 从数组中删除多个对象并返回更新后的数组

php - 是否可以在所需循环之外创建数据库调用?

php - 如何使用 array_diff 获取丢失的项目