如何使用 Javascript 从嵌套的多维数组中获取值

How to get value from nested, multidimensional array with Javascript

我创建了一个地图 Google 地图信息 windows。 我想动态地打印出 info window 内容。 因此,我创建了一个值数组作为嵌套数组,但我无法获取此 nested/multidimensional 数组中的值。 所以我的目标是 运行 first,second,third,fourth,fifth in content 片段的一部分。

            $(document).ready(function () {
            var map;
            var elevator;
            var myOptions = {
                zoom: 1,
                center: new google.maps.LatLng(0, 0),
                mapTypeId: 'roadmap'
            };
            map = new google.maps.Map($('#map_canvas')[0], myOptions);

             let addresses = [
                 ['Norway','first'],
                 ['Africa','second'],
                 ['Asia','thrid'],
                 ['North America','fourth'],
                 ['South America','fifth']
            ];



            for (var x = 0; x < addresses.length; x++) {
                //usleep(1000000);
                $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+addresses[x][0]+'&sensor=false', null, function (data) {
                    var p = data.results[0].geometry.location
                    var latlng = new google.maps.LatLng(p.lat, p.lng);
                    new google.maps.Marker({
                        position: latlng,
                        map: map,
                        title: addresses[x][0]
                    });

                    var infowindow = new google.maps.InfoWindow({
                        content: 'addresses'
                    });

                    var marker = new google.maps.Marker({
                        position: latlng,
                        map: map
                    });

                    google.maps.event.addListener(marker, 'click', function() {
                        alert("Marker clicked");
                        infowindow.open(map,marker);
                    });


                });
            }

        });

当我喜欢的时候

content: addresses[x][1]

它给了我

Uncaught TypeError: Cannot read property '1' of undefined

这是我的fiddle

http://jsfiddle.net/P2QhE/5961/

请试试这个。

addresses.forEach(address => console.log(address[1]))

或更详细的版本:

addresses[0][1]
addresses[1][1]
addresses[2][1]
addresses[3][1]
addresses[4][1]