javascript - 试图从javascript中的时间戳数组和价格数组中获取每小时分钟间隔的平均价格
问题描述
所以我正在尝试为理论股票创建价格跟踪图表。我已经通过两个数组接收所有历史价格:一个是unix时间戳数组,另一个是简单价格数组,如下所示:
var times = [
"1614818710",
"1614818728",
"1614818734",
"1614818818",
"1614818905",
"1614818986",
"1614819013"];
var prices = [
"0.15",
"0.13",
"0.10",
"0.17",
"0.15",
"0.14",
"0.15"];
虽然我可以很容易地用相应的价格绘制时间戳,但我真的很想以 1 分钟间隔、5 分钟间隔等绘制图表;并坚持如何在纯javascript中实现这一目标。尽我所能,最简单的方法是将两者组合成一个数组数组,然后将其提供给这种类型的函数(尽管现在我只是让它与时间数组一起使用:
var x = groupByTimePeriod(times);
async function groupByTimePeriod(obj) {
var objPeriod = {};
var oneMin = 60 * 1000; // seconds * milliseconds
for (var i = 0; i < obj.length; i++) {
var d = new Date(obj[i] * 1000);
d = Math.floor(d.getTime() / oneMin);
// define object key
objPeriod[d] = objPeriod[d] || [];
objPeriod[d].push(obj[i]);
}
return objPeriod;
}
以上似乎是正确分组,但我被困在从这里去哪里,我无法弄清楚如何使结果数组“objPeriod [d]”成为实际的完整日期分钟,而现在它只是吐回分钟数。
基本上我想得到一个像这样的数组,时间戳是分钟,价格是每分钟的平均价格。
var avgMinPrices= [
[1614818710][0.13],
[1614818818][0.17],
[1614818905][0.15],
[1614818986][0.14],
[1614819013][0.15] ];
解决方案
推荐阅读
- scala - 如何在 spark scala 中加入 2 rdd
- javascript - 渲染自动填充的搜索结果 Debounce 在 React 中不起作用,我无法在 useEffect 中调用我的 debounce
- php - Laravel Passport 保护多重身份验证 (Guard) api 路由
- python - 通过智能合约检查调用者的有效性
- node.js - node.js fs.accessSync 在检查写保护目录的写权限时总是返回 True (Windows)
- android - HERE-sdk 大大增加了我的应用程序的大小,最高可达 150 mb。Google play 对 apk 的最大限制为 100 MB。怎么解决
- docker - AzureBlobStorageOnIoTEdge:错误目标容器连接未指定,上传已关闭
- mongodb - 元数据库集合不显示
- unit-testing - 持久化新对象并生成其 id 的单元测试代码
- c - 在linux上使用系统调用将目录文件复制到另一个目录