gpt4 book ai didi

javascript - 使用特定数字的最后一个访问 JavaScript 数组中的位置

转载 作者:行者123 更新时间:2023-11-30 20:54:40 25 4
gpt4 key购买 nike

我有一个打开的 websocket 向我传递数据,数据是一个包含时间戳(日期类型)和价格(数字类型)的对象。

* 我需要在每分钟结束时访问最新价格。 *

所以我在日期上使用了 .getMinute() 方法,它返回分钟。例如,如果日期是 2017-12-14T00:26:19.944Z 并且价格是 19.99 那么我会制作一个这样的对象:{time: 26, price: 19.99}

然后我将其推送到一个数组,然后重复该过程......所以我可以有一个像这样的数组:

[{time: 26, price: 19.99}, {time: 26, price: 17.99}, {time: 26, price: 22.45}, {time: 27, price: 25.21}]

我需要访问每个时间属性的最后价格 - 所以上面我需要访问 22.45 的价格并将其插入一个新数组。

感谢帮助,谢谢。

最佳答案

您可以利用 objects不能有重复的同名属性。

请参阅下面的实际示例。

注意 reduce() 的使用函数达到object form {time: price} 和随后的map()返回原来的函数array form [{时间,价格}..]

结果是一个数组,仅包含每分钟最新价格

// Original Data.
const data = [{time: 26, price: 19.99}, {time: 26, price: 17.99}, {time: 26, price: 22.45}, {time: 27, price: 25.21}]

// Object Form.
const unique = data.reduce((accumulator, point) => ({...accumulator, [point.time]: point.price}), {})

// Array Form.
const array = Object.keys(unique).map((time) => ({time, price: unique[time]}))

// Result.
console.log('Object Form', unique) // Object Form.
console.log('Array Form', array) // Array Form.

关于javascript - 使用特定数字的最后一个访问 JavaScript 数组中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47804212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com