我写了一些代码,其中数据正在进入数组。在每个索引处,我都有另一个数组,该数组具有包含五个数据元素的数组。我想做的是在每个嵌套数组的末尾添加数据。

var allTimeStamps = [];
var allTimeStampsData = [];
$.getJSON( "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo", function( data ) {

    const responseData = data;

    for(let key in responseData["Time Series (Daily)"]){
        allTimeStamps.push(key);
        allTimeStamps.push(parseFloat((responseData["Time Series (Daily)"][key]["3. low"])));
        allTimeStamps.push(parseFloat(responseData["Time Series (Daily)"][key]["1. open"]));
        allTimeStamps.push(parseFloat(responseData["Time Series (Daily)"][key]["4. close"]));
        allTimeStamps.push(parseFloat(responseData["Time Series (Daily)"][key]["2. high"]));
        allTimeStampsData.push(allTimeStamps);
        allTimeStamps=[];
    }
    console.log("seperatedData", allTimeStampsData);
});


我正在尝试这样的事情:



allTimeStampsData[0].append("121");




allTimeStampsData[0].push("121");


我因为Python而写了append。我实际上是在尝试推动,但这不起作用。

我期望输出像:

[ ["08-2-2018",98,12,98,78,121] ,......]

最佳答案

最好的方法是在.map属性的条目上使用简单的"Time Series (Daily)",从中可以提取日期和低/开/关/高:



fetch("https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo")
  .then(res => res.json())
  .then(responseData => {
    const daily = responseData["Time Series (Daily)"];
    const keys = [
      '3. low',
      '1. open',
      '4. close',
      '2. high',
    ];
    const allTimeStampsData = Object.entries(daily)
      .map(([date, infoObj]) => (
        [date, ...keys.map(key => infoObj[key])]
      ));
    console.log(allTimeStampsData[0]);
    console.log(allTimeStampsData);
  });

关于javascript - 在JavaScript中访问嵌套数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51216166/

10-10 09:18
查看更多