javascript - 如果对象子对象包含某个字符串(JavaScript),则从对象子对象获取数据
问题描述
我从 API(使用 JavaScript,API 是 alphavantage.co)获取一些数据,以获得一年的股票股息。API 每月给我分红。所以我需要做的是总结子对象的红利,如果它们包含“2019”。
API 如下所示:
"Monthly Adjusted Time Series": {
"2019-12-31": {
"1. open": "37.4800",
"2. high": "39.4320",
"3. low": "36.9050",
"4. close": "38.9750",
"5. adjusted close": "38.9750",
"6. volume": "493073245",
"7. dividend amount": "0.0000"
},
"2019-11-29": {
"1. open": "38.9500",
"2. high": "39.7000",
"3. low": "36.4000",
"4. close": "37.3800",
"5. adjusted close": "37.3800",
"6. volume": "605847809",
"7. dividend amount": "0.0000"
},
... And so on until year 2000
我知道我必须循环它,但我如何检查孩子是否包含 2019?所以它不循环其他年份?
解决方案
您需要过滤掉不匹配的值,然后减少结果。
Object.entries(monthlyAdjustedTimeSeries)
// Remove items that don't contain 2019
.filter(([k]) => k.includes("2019-"))
// Get just the values
.map(([_, v]) => parseFloat(v["7. dividend amount"]))
// Sum
.reduce((ac, v) => ac + v, 0);
推荐阅读
- python - Tensorflow 对象检测 API 未检测到与训练集大小不同的图像中的对象
- jetty-9 - 如何更改码头服务器的默认http端口
- react-native - 从 React Native 中的抽屉菜单更新 Stack Navigator 屏幕的状态
- java - 试图从 exception.cause 中获取嵌套异常
- java - 后缀运算符实际上是如何工作的?
- c# - 当我在文件末尾有额外字符导致异常时获取部分反序列化的 json
- eclipse - Eclipse如何禁用对txt文件的验证(lsp4e)
- python - 如何在 sklearn 中使用 Ridge 回归运行 GridsearchCV
- html - 需要帮助在
将 xml 数据转换为 html 时标记不丢失子节点
- java - lombok 或 java 'var' 有用的用例