无法使用点符号或方括号符号访问嵌套对象数组

我需要访问嵌套在项目列表对象内的要素属性数组。看起来像这样。


var itemsList = {

    _searchedFeatures: {

      Wildlife Management Areas: [{}, {}, {}]

    }

}

我需要访问Wildlife Management Areas(WMA)数组并循环浏览,从数组中的每个功能中提取一个属性值,然后将该值推到另一个数组中。我遇到的问题是我无法访问WMA阵列。


我尝试使用点表示法和括号表示法的组合来获取WMA数组,但是我总是无法定义。我知道WMA在那里并且包含对象列表,因为当我访问_searchFeatures对象时可以看到它们。


我试过了


itemList._searchedFeatures

返回数组。我可以在chrome控制台中看到该数组,但是我需要了解内部值或该数组的值。


Chrome控制台:搜索功能


{}

  Wildlife Management Areas: (5) [c, c, c, c, c] //I need to get to this 

  array!

该代码不起作用:


itemsList._searchedFeatures["Wildlife Management Areas"]; 

我期望看到一个索引的功能列表,看起来像这样:


0: {...}

1: {...}

2: {...}

但是,相反,我只是不确定。有趣的是,当我将鼠标悬停在控制台中的“野生生物管理区域”上时,我看到的是看起来像是JavaScript点表示法的解决方案,但我不知道如何复制它。这是我所看到的:


[""Wildlife Management Areas""]

我从未见过双双引号,这显然行不通,但是我不知道如何解释。请让我知道我不了解的内容。


守着星空守着你
浏览 152回答 2
2回答

Cats萌萌

这有效:setTimeout(function() {    var wmaArray = itemList._searchedFeatures['wildlife Management Areas'];    console.log("WMAs ", wmaArray);}, 2000);获得结果只需要很长时间,所以我不得不延长超时时间。我知道这不是最好的方法,我确实希望为此做一个承诺,但是我仍在学习javascript,但还不是很熟练!

月关宝盒

您应该在“野生生物管理区”中加引号,以使其起作用var itemsList = {    _searchedFeatures: {        'Wildlife Management Areas': [{}, {}, {}]    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript