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

如何使用Javascript从嵌套的多维数组中获取值,javascript,google-maps-api-3,google-maps-markers,Javascript,Google Maps Api 3,Google Maps Markers,我用带有信息窗口的谷歌地图创建了一张地图。 我想动态打印信息窗口的内容。 因此,我创建了一个值数组作为嵌套数组,但无法获取此嵌套/多维数组中的值。 因此,我的目标是在片段的内容中运行第一、第二、第三、第四、第五部分 $(document).ready(function () { var map; var elevator; var myOptions = { zoom:

我用带有信息窗口的谷歌地图创建了一张地图。 我想动态打印信息窗口的内容。 因此,我创建了一个值数组作为嵌套数组,但无法获取此嵌套/多维数组中的值。 因此,我的目标是在片段的内容中运行第一、第二、第三、第四、第五部分

            $(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);
                    });


                });
            }

        });
它给了我

Uncaught TypeError: Cannot read property '1' of undefined
这是我的小提琴

请试试这个

addresses.forEach(address => console.log(address[1]))
或者更详细的版本:

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

我正在尝试使用content:addresses[x][1]使其成为动态的,但它给了我未捕获的TypeError:cannotread属性“1”的未定义errorYes,因为您在第23行中执行了异步请求,并且for循环在请求完成之前完成。您应该将第21行中的
var
更改为
let
,如果您想更深入地了解闭包,请检查以下内容:
addresses[0][1]
addresses[1][1]
addresses[2][1]
addresses[3][1]
addresses[4][1]