如何合并日期与收盘价数组生成股票图表所需的二维数组?
合并日期与价格数组为指定格式的二维数组
你可以通过两种方式实现需求:
方法一:遍历数据时直接构建目标数组(推荐)
不用单独维护closeDates和closePrices两个数组,在遍历API返回的每日数据时,直接将日期与对应收盘价配对存入目标数组,减少内存开销且更高效:
async function createStockChart() { var matchingStockDailyPriceDataResults = await getMatchingStockPricingData(ticker) var matchingStockDailyPriceData = matchingStockDailyPriceDataResults["Time Series (Daily)"] const finalData = []; for (var key in matchingStockDailyPriceData) { finalData.push([key, parseFloat(matchingStockDailyPriceData[key]['4. close'])]); } console.log(finalData); // 输出格式如[[日期, 价格], ...]的二维数组 }
方法二:合并已有的closeDates和closePrices数组
如果已经保留了这两个数组,利用数组的map方法,通过索引将对应位置的日期和价格配对:
async function createStockChart() { var matchingStockDailyPriceDataResults = await getMatchingStockPricingData(ticker) var matchingStockDailyPriceData = matchingStockDailyPriceDataResults["Time Series (Daily)"] var closePrices = [] var closeDates = [] for (var key in matchingStockDailyPriceData) { closePrices.push(parseFloat(matchingStockDailyPriceData[key]['4. close'])); closeDates.push(key); } // 合并两个数组 const finalData = closeDates.map((date, index) => [date, closePrices[index]]); console.log(finalData); }
注意事项
- 两种方法都能保证子数组的顺序和API返回的每日数据顺序一致;
- 方法一无需额外存储两个独立数组,性能更优,适合你的开发场景。
内容的提问来源于stack exchange,提问作者Matthew Abebe
相关产品推荐
相关产品推荐

