【发布时间】:2017-04-15 10:01:26
【问题描述】:
我不知道如何使用 JavaScript 查找 JSON 对象中包含的元素数量。这就是我的对象的结构:
var shows = [];
//make http call here to api url and store in variable called 'data'
for (int i = 0; i < data.length; i++) {
var element = {
"location": {
"latitude": data[j].venue.latitude,
"longitude": data[j].venue.longitude
},
"artist": data[j].artists[0].name,
"venue_name": data[j].venue.name,
"date": data[j].datetime
};
shows.push(element);
};
所以我可以使用shows[i].location 或任何我想访问的键轻松访问这些元素。但是,涵盖该主题的所有问题/答案似乎都建议使用 Object.keys(shows).length 来查找元素的数量(我也很难让 for-each 循环为这个元素对象工作)。
但是,这在我的情况下不起作用(我假设因为“显示”没有任何直接键)所以我只是想知道是否有任何其他方法可以访问元素的数量(每个都有4键:值对)在“节目”内?还是有另一种方法来迭代每个元素?或者,如果这不可能,是否有另一种方法可以构造我的对象以更容易找到元素的数量?非常感谢任何帮助!
【问题讨论】:
-
您在寻找
length属性吗?shows.length,顺便说一下,等于data.length。旁注:这不是“json 对象”。 JSON 是一种可以转换为数据的文本格式。你有一个对象数组。 -
This is how my object is structed- 所以,它是一个对象数组……数组的长度是 data.length -
我预计缺少一些代码,因为您使用的是
int i = 0(这甚至不是有效的 JavaScript),但随后引用了data[j],这会导致错误。跨度> -
我真的把这个问题搞砸了,我将把它链接到一个希望实际上有意义的新问题
标签: javascript json iteration javascript-objects