我写了一些代码,其中数据正在进入数组。在每个索引处,我都有另一个数组,该数组具有包含五个数据元素的数组。我想做的是在每个嵌套数组的末尾添加数据。
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] ,......]
答案 0 :(得分:3)
执行此类操作的最佳方法是在.map
属性的条目上使用简单的"Time Series (Daily)"
,从中可以提取日期和低/开/关/高:< / p>
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);
});
答案 1 :(得分:0)
我相信您正在寻找的是push
方法。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
初始化数组
var my_arr = ['Volvo', 'Ford', 'Chevrolet'];
然后使用push
方法向其中添加新值。
my_arr.push('Mercedes');
现在my_arr = ['Volvo', 'Ford', 'Chevrolet', 'Mercedes'];
答案 2 :(得分:0)
您应在allTimeStampsData
数组中明确分配该字段:
allTimeStampsData[allTimeStampsData.length] = allTimeStamps;
此后,allTimeStampsData[i].push("121");
将起作用。
答案 3 :(得分:0)
我认为这里的原始问题需要澄清。如@josh所述,您使用$.push()
将数据附加到数组的末尾。无论阵列使用.push()
层有多深,都是将数据添加到阵列的最佳方法。同样,这听起来像是一个重复的问题,发布在这里javascript-push-multidimensional-array