Javascript:如何访问动态命名的嵌套对象中的键?

标签 javascript arrays object key

这是我的情况:我正在使用一个包含一堆嵌套对象的数组。这些嵌套对象之一的名称会动态更改。我如何才能一致地访问其子对象之一的键?

以下是它可以具有的路径的一些示例:

kml[id].overlayData._layers.136._bounds._northEast.lat
kml[id].overlayData._layers.143._bounds._northEast.lat
kml[id].overlayData._layers.82._bounds._northEast.lat
kml[id].overlayData._layers.87._bounds._northEast.lat
kml[id].overlayData._layers.76._bounds._northEast.lat

我尝试访问的子对象是“lat”,其中有几个键。

对任何奇怪/不正确的术语使用表示歉意,我仍在努力理解这样的概念。

最佳答案

您可以通过 Object.keys 获取 key .

var keys = Object.keys(kml[id].overlayData._layers);

// access
keys.forEach(function (key) {
    // kml[id].overlayData._layers[key]._bounds._northEast.lat
});

对于只有一个未知的键,您可以直接使用键数组的第一个元素

var key = Object.keys(kml[id].overlayData._layers)[0];

// access with
kml[id].overlayData._layers[key]._bounds._northEast.lat

关于Javascript:如何访问动态命名的嵌套对象中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268385/

相关文章:

javascript - 如何在设备旋转时更改 iframe 的大小?

javascript - 意外的 ng-ui-bootstrap typeahead 行为

c - 在 C 中制作二维字符串数组

javascript - 文件对象在推送到数组时变成字符串? JS

Pandas 将空对象列添加到数据框

javascript - HTML5 : Play videos one after the other in a video tag from an array?

javascript - Vue.js 将数组从一个页面传递到另一个页面

c++ - 如何在 C++ 上将具有一定大小的数组填充到另一个具有更大大小的数组中?

javascript - 如何在 JavaScript 中获取单词或索引后的子字符串?

function - 不能在函数中调用管道属性。电源外壳