Javascript 如何提取数组的元素

Javascript 如何提取数组的元素,javascript,Javascript,我有上面的数据, var jsonData = [ {date:'August 19, 2004',open:100.01,high:104.06,low:95.96,close:100.34,volume:22088000}, {date:'August 20, 2004',open:101.48,high:109.08,low:100.50,close:108.31,volume:11377000}, {date:'August 23, 2004',open:110.

我有上面的数据,

var jsonData = [
    {date:'August 19, 2004',open:100.01,high:104.06,low:95.96,close:100.34,volume:22088000},
    {date:'August 20, 2004',open:101.48,high:109.08,low:100.50,close:108.31,volume:11377000},
    {date:'August 23, 2004',open:110.76,high:113.48,low:109.05,close:109.40,volume:9090700},
    {date:'August 24, 2004',open:111.24,high:111.60,low:103.57,close:104.87,volume:7599100},
    {date:'August 25, 2004',open:104.96,high:108.00,low:103.88,close:106.00,volume:4565900}
];
我想得到日期的所有单格值,我用了这个

for(var i = 0; i<jsonData.length; i++) 
    var date = jsonData[i].date;
date = date.split(' ');
return date; 

for(var i=0;i在循环中,您将所有日期放在同一个变量中,因此在每次迭代中您都会覆盖上一个值。将日期添加到数组中:

var dates = [];
for(var i = 0; i<jsonData.length; i++) {
  dates.push(jsonData[i].date);
}
return dates; 
var日期=[];
对于(var i=0;i您的循环有问题。它只运行一次,即使您删除了它,它也会继续覆盖存储在
date

如果要存储所有日期,需要将其放入数组并存储日期。我不确定日期的
单个值是什么意思,但这种结构将为您解决问题

var dates = [];
for(var i = 0; i<jsonData.length; i++) {
   var date = jsonData[i].date;
   date = date.split(' '); 
   //do whatever you want with your date. transform.
   dates.push(date); //push the final version of the date you want to store
}
return dates;  //return an array of dates
var日期=[];

对于(var i=0;i您在循环的每次迭代中都会覆盖
date
变量。相反,保留一个变量(在循环外部初始化)并将每个日期数组(在循环内部生成)推送到该变量


您好,这里您定义了一个循环,这样数组的每个值都会在日期变量中被覆盖,所以它会给出最后一次被覆盖的值

若要提取所有值,请不要使用定义的循环类型

你只要写

var date1=jsonData[0]。日期;
var date2=jsonData[1].date;

不,for
后面没有起始括号,所以循环的内容只是它后面的一条语句。
返回的
在循环之外,所以它不会退出循环。呃,我没有注意到,因为缩进太厉害了。我以为他刚刚漏掉了它。谢谢你指出它请不要调用任何旧的JavaScript对象“jsonData”,这只会在某一点上让人感到困惑。当你返回到一个循环中时,循环和方法就结束了。你必须以你想要的方式聚合数据,或者在循环中处理数据。你说“我想得到日期的所有单值”是什么意思?@ehudokai:The
return
实际上不在循环中。Argggh。无支撑的
for
语句是魔鬼的工作。非常感谢你的回复,没有任何作用,它仍然在返回一系列数组。我用这种方法解决了HumbleFinance.xTickFormatter=function(n){if(n==0.0){n=0;}if(n==1.0){n=1;}if(n==2.0){n=2;}if(n==3.0){n=3;}if(n==4.0){n=4;}var date=jsonData[n]。date;date=date.split(“”);返回日期;
var dates = [];
for(var i = 0; i<jsonData.length; i++) {
   var date = jsonData[i].date;
   date = date.split(' '); 
   //do whatever you want with your date. transform.
   dates.push(date); //push the final version of the date you want to store
}
return dates;  //return an array of dates
dates = [];
for ( idx in jsonData ) {
    dates.push(jsonData[idx].split(' '));
}

// dates is an array of arrays now
// for example: [['August', '19,', '2004'], ...]
return dates;