Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中访问嵌套数组_Javascript_Arrays_Javascript Objects - Fatal编程技术网

在JavaScript中访问嵌套数组

在JavaScript中访问嵌套数组,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我写了一些代码,其中数据进入数组。在每个索引处,我有另一个数组,该数组包含五个数据元素。我要做的是在每个嵌套数组的末尾添加数据 var allTimeStamps = []; var allTimeStampsData = []; $.getJSON( "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo", function( data ) { con

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

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");
我写append是因为Python。我实际上是想推,但这不起作用

我期望输出如下:

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

我相信您正在寻找的是
push
方法

初始化数组
var my_arr=[‘沃尔沃’、‘福特’、‘雪佛兰’]

然后使用
push
方法向其添加新值

my_arr.push('Mercedes')


现在
my_arr=[‘沃尔沃’、‘福特’、‘雪佛兰’、‘梅赛德斯’]

执行类似操作的最佳方法是在
“时间序列(每日)”
属性的条目上绘制一个简单的
.map
,从中可以提取日期和低/开/关/高:

fetch(“https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo")
.then(res=>res.json())
.然后(响应数据=>{
const daily=响应数据[“时间序列(每日)”];
常量键=[
"3.低",,
“1.开放”,
"四,关闭",,
"2.高",,
];
const allTimeStampsData=Object.entries(每日)
.map([date,infoObj])=>(
[date,…keys.map(key=>infoObj[key])]
));
console.log(allTimeStampsData[0]);
console.log(allTimeStampsData);

});
您应该在
allTimeStampsData
数组中显式分配字段:

allTimeStampsData[allTimeStampsData.length] = allTimeStamps;

此后,
allTimeStampsData[i].push(“121”)将起作用。

我认为原始问题需要在这里澄清。如前所述,您可以使用
$.push()
将数据追加到数组的末尾。无论数组使用的深度有多深,
。push()
是向数组添加数据的最佳方法。这听起来像是一个重复的问题,发布在这里?!也许您收到的数组示例会有所帮助。基本上,我希望访问嵌套数组的元素。这与嵌套无关array@tadman当我回答这个问题时,他把它设置为
append
,而不是
push
。啊,在那一行。问题的其余部分已经有了
push
。奖金承诺!很好。这感觉更像是一个评论,而不是一个现在或将来有用的答案。如果这是重复的,只需标记或注释,mods通常会拾取该线程。