为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2021-04-02 14:11:26
我需要访问嵌套在项目列表对象内的要素属性数组。看起来像这样。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""]我从未见过双双引号,这显然行不通,但是我不知道如何解释。请让我知道我不了解的内容。
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

这有效:


setTimeout(function() {

    var wmaArray = itemList._searchedFeatures['wildlife Management Areas'];

    console.log("WMAs ", wmaArray);

}, 2000);

获得结果只需要很长时间,所以我不得不延长超时时间。我知道这不是最好的方法,我确实希望为此做一个承诺,但是我仍在学习javascript,但还不是很熟练!


查看完整回答
反对 回复 2021-04-22
?
月关宝盒

TA贡献1772条经验 获得超5个赞

您应该在“野生生物管理区”中加引号,以使其起作用


var itemsList = {

    _searchedFeatures: {

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

    }

}


查看完整回答
反对 回复 2021-04-22
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信