首页 > 解决方案 > Javascript:循环遍历数组中的对象

问题描述

我有一个 JSON 提要,我需要从中提取一些信息以将一些标记绘制到地图上。为此,我需要遍历 JSON 提要,然后遍历数组中的特定对象。

我可以让它遍历顶层(类别),但尝试遍历每个类别都按预期工作 - 我得到相同的类别重复等于数字类别。

数组/对象的结构如下:

- activities
    |_ category
    |_ acf
        |_ activity_listing
            |_ name
            |_ latitude
            |_ longitude
            |_ name
            |_ latitude
            |_ longitude
    |_ category
    |_ acf
        |_ activity_listing
            |_ name
            |_ latitude
            |_ longitude
            |_ name
            |_ latitude
            |_ longitude

每个类别都有一个包含多个项目(名称、纬度、lng)的活动列表。

我的代码设置如下:

var activitiesLocationList = this.activitiesLocations;

for (var i = 0; i < activitiesLocationList.length; i++) {

    activitiesLocationList[0]['acf']['activity_listing'].forEach(function(item) {

        var placeName = item['activity_listing-name'];
        var placeLatitude = parseFloat(item['activity-listing_latitude']);
        var placeLongitude = parseFloat(item['activity-listing_longitude']);

        console.log('Place Name: ' + placeName);

    })
}

输出是:

'Place Name: Karijini National Park'
'Place Name: Staircase to the Moon'
'Place Name: Millstream Chichester National Park'
'Place Name: Dampier Archipelago'
'Place Name: Murujuga National Park'
'Place Name: Montebello Islands'
'Place Name: Karijini National Park'
'Place Name: Staircase to the Moon'
'Place Name: Millstream Chichester National Park'
'Place Name: Dampier Archipelago'
'Place Name: Murujuga National Park'
'Place Name: Montebello Islands'

所以它几乎是在做我想要的,但只是进入第一类。我究竟做错了什么?

我如何让它逐步遍历每个类别,循环播放内容?

标签: javascriptarraysjsonjavascript-objects

解决方案


您必须在此行中循环时传递索引i而不是0activitiesLocationList[i]['acf']['activity_listing']....


推荐阅读