无法在javascript中迭代数组

时间:2017-04-08 22:43:56

标签: javascript arrays

我在javascript中有一个数组,但我无法访问其中的任何数据。数组打印出来像这样: console View

修改 这是我的代码:问题是它没有从data [x]获取任何内容,而data是我的数组的名称

for (var x in data) {
    yaxis.push(data[x].dateAdded);
    xaxis.push(data[x].priority);
    text_hover.push(data[x].name + ' - ' + data[x].organType);
}

我想我的问题是它告诉我我的长度是0,但实际上它是1

2 个答案:

答案 0 :(得分:1)

对我来说,这看起来你的数组中有一个项目,所以

array.forEach( item => console.log( item.HLAType )) 

应该工作或

array[0].HLAType

但是,如果有人建议您要打印对象上的所有属性,则需要执行以下操作:

let obj = array[0];
Object.keys(obj).forEach( key => {
  console.log( obj[key] )  //prints the value of said key
})

答案 1 :(得分:0)

从你的问题中不清楚究竟是什么 - 即哪个陈述 - 令你烦恼。我猜你正在搜索(例如)var objectsOrganSize = myArray[0].organSize;之类的行(如果你的数组被称为myArray)。

或者通过它迭代:

for(var i=0; i<myArray.length; i++){
    console.log(myArray[i].organSize);
}

另一方面,如果您将数组与对象混淆并且实际上想要遍历organSizebloodType等,请查看here

修改

您的代码看起来非常像异步请求。可能是当数据尚未从服务器返回时执行循环。或者您是否可以在回调函数之外访问它,因此data未定义?