Javascript 使用循环访问JSON中的对象属性

Javascript 使用循环访问JSON中的对象属性,javascript,json,loops,Javascript,Json,Loops,我试图学习更多关于循环的知识,并试图访问JSON格式的对象属性 我的JS是: var movies = { "Black Panther" : { "title" : "Black Panther", "theatricalrelease" : "2/16/2018" }, "Infinity War" : { "title" : "Avengers: Infinity War", "theatricalrelease" : "5/4/2018"

我试图学习更多关于循环的知识,并试图访问JSON格式的对象属性

我的JS是:

var movies = {
  "Black Panther" : {
    "title" : "Black Panther",
    "theatricalrelease" : "2/16/2018"
  },
  "Infinity War" : {
    "title" : "Avengers: Infinity War",
    "theatricalrelease" : "5/4/2018"
  },
  "Captain Marvel" : {
    "title" : "Captain Marvel",
    "theatricalrelease" : "TBA"
  }
}

console.log(movies); //logs correctly
console.log(movies.length); //logs undefined

for (var i = 0; i < movies.length; i++) {
  console.log(movies[i]); // doesn't log anything
}
var电影={
“黑豹”:{
“头衔”:“黑豹”,
“戏剧解放”:“2018年2月16日”
},
“无限战争”:{
“标题”:“复仇者:无限战争”,
“戏剧解放”:“2018年5月4日”
},
“惊奇船长”:{
“头衔”:“惊奇船长”,
“戏剧舞台剧”:“待定”
}
}
console.log(电影)//正确记录
console.log(movies.length)//未定义日志
for(var i=0;i

如何访问对象属性,如
title
戏剧性的release

不能在对象上使用
.length
,因为它在数组上工作

但是,您可以使用Object.Keys.Lengh

var电影={
“黑豹”:{
“头衔”:“黑豹”,
“戏剧解放”:“2018年2月16日”
},
“无限战争”:{
“标题”:“复仇者:无限战争”,
“戏剧解放”:“2018年5月4日”
},
“惊奇船长”:{
“头衔”:“惊奇船长”,
“戏剧舞台剧”:“待定”
}
}
console.log(Object.keys(movies.length);
for(电影中的var键){
console.log(电影[key]);

}
不能在对象上使用
.length
,因为它在数组上工作

但是,您可以使用Object.Keys.Lengh

var电影={
“黑豹”:{
“头衔”:“黑豹”,
“戏剧解放”:“2018年2月16日”
},
“无限战争”:{
“标题”:“复仇者:无限战争”,
“戏剧解放”:“2018年5月4日”
},
“惊奇船长”:{
“头衔”:“惊奇船长”,
“戏剧舞台剧”:“待定”
}
}
console.log(Object.keys(movies.length);
for(电影中的var键){
console.log(电影[key]);

}
您可以通过以下方式访问标题并获取长度:

var movies = {
  "Black Panther" : {
    "title" : "Black Panther",
    "theatricalrelease" : "2/16/2018"
  },
  "Infinity War" : {
    "title" : "Avengers: Infinity War",
    "theatricalrelease" : "5/4/2018"
  },
  "Captain Marvel" : {
    "title" : "Captain Marvel",
    "theatricalrelease" : "TBA"
  }
}
var totalMovies = Object.keys(movies).length;
console.log(totalMovies);

for (var key in movies) {
    if (movies.hasOwnProperty(key)) {
        console.log( movies[key].title);
        console.log( movies[key].theatricalrelease);
    }
}

您可以通过以下方式访问标题并获取长度:

var movies = {
  "Black Panther" : {
    "title" : "Black Panther",
    "theatricalrelease" : "2/16/2018"
  },
  "Infinity War" : {
    "title" : "Avengers: Infinity War",
    "theatricalrelease" : "5/4/2018"
  },
  "Captain Marvel" : {
    "title" : "Captain Marvel",
    "theatricalrelease" : "TBA"
  }
}
var totalMovies = Object.keys(movies).length;
console.log(totalMovies);

for (var key in movies) {
    if (movies.hasOwnProperty(key)) {
        console.log( movies[key].title);
        console.log( movies[key].theatricalrelease);
    }
}

我迟到了。
这会满足你的要求

var电影={
“黑豹”:{
“头衔”:“黑豹”,
“戏剧解放”:“2018年2月16日”
},
“无限战争”:{
“标题”:“复仇者:无限战争”,
“戏剧解放”:“2018年5月4日”
},
“惊奇船长”:{
“头衔”:“惊奇船长”,
“戏剧舞台剧”:“待定”
}
}
var moviesrarray=Object.keys(电影);
对于(var i=0;i}
我迟到了。
这会满足你的要求

var电影={
“黑豹”:{
“头衔”:“黑豹”,
“戏剧解放”:“2018年2月16日”
},
“无限战争”:{
“标题”:“复仇者:无限战争”,
“戏剧解放”:“2018年5月4日”
},
“惊奇船长”:{
“头衔”:“惊奇船长”,
“戏剧舞台剧”:“待定”
}
}
var moviesrarray=Object.keys(电影);
对于(var i=0;i}
这不是一个数组。可能的重复问题:可能的重复你应该首先考虑使用JSON.parse它会让你的生活更轻松,然后你就可以像在非数组的对象文字上那样使用函数了。可能的重复问题:你真的应该考虑使用JSON.parse。首先,它会让你的生活更轻松,然后你就可以像在对象文字上一样使用函数了