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;}