Javascript 如何访问对象数组中的动态键

Javascript 如何访问对象数组中的动态键,javascript,arrays,object,Javascript,Arrays,Object,我想访问数组中对象的键 对象的示例是: var trackobj = { trackees: [{ john: { "lat": "120000" , "long": "12345" } , harry: { "lat": "210000" , "long": "5433333"

我想访问数组中对象的键

对象的示例是:

var trackobj = {
        trackees: [{
            john: {
                "lat": "120000"
                , "long": "12345"
            }
            , harry: {
                "lat": "210000"
                , "long": "5433333"
            }
            , sid: {
                "lat": "420000"
                , "long": "21345"
            }
    }]
    }
我正在使用以下功能:

function searchTrackee() {
        for (var i = 0; i <= trackobj.trackees.length; i++) {
            console.log(trackobj.trackees[i]['key']);
        }
    }
函数searchTrackee(){

对于(var i=0;i,您可以在
语句中使用一个简单的
for…,如下所示:

for (var i = 0; i <= trackobj.trackees.length; i++) {
    for(var key in trackobj.trackees[i]) {
        console.log(key);
    }
}

for(var i=0;i我认为以下内容应该对您有所帮助

function searchTrackee() {
   trackobj.trackees.forEach(function(obj) {
      console.log(Object.keys(obj));
   });
}
编辑1:

我也同意@MedAli。使用地图并存储它是一个很好的做法。然后单独打印

function searchTrackee() {
   var output = trackobj.trackees.map(function(obj){
       return Object.keys(obj);
   });
   console.log(output);
}

您可以执行以下操作:

trackobj["trackees"].map(function(a){
 return Object.keys(a)
})
因此,您可以更新代码,如下所示:

function searchTrackee() {
    var results = trackobj["trackees"].map(function(a){
     return Object.keys(a)
    })
    console.log(results)
}
输出是具有以下值的数组:

["john","harry","sid"]
var trackobj={
追踪者:[{
约翰:{
“lat”:“120000”
,“长”:“12345”
}
,哈里:{
“lat”:“210000”
,“长”:“5433333”
}
,sid:{
“lat”:“420000”
,“长”:“21345”
}
}]
}
函数searchTrackee(){
var results=trackobj[“被跟踪者”].map(函数(a){
返回对象。键(a)
})
console.log(结果)
}

searchTrackee();
您还可以使用
数组#reduce
获取所有名称

var trackobj={trackees:[{
约翰:{
“lat”:“120000”
,“长”:“12345”
},哈里:{
“lat”:“210000”
,“长”:“5433333”
},sid:{
“lat”:“420000”
,“长”:“21345”
}}]
}
var names=trackobj['trackees'].reduce((names,obj)=>names.concat(Object.keys(obj)),[]
);
console.log(名称);
。作为控制台包装{最大高度:100%!重要;顶部:0;}