如何在对象中获取对象的值

时间:2019-01-10 21:46:11

标签: javascript object

我得到了一个对象,该对象具有个人的名字作为键,这些键的值是一个对象,其中包含他们最喜欢的电影以及他们将给他们的评分。我正在尝试将所有电影标题以及每个人的总得分编译为一个对象。

userRatings = {
   "Ryan" => {"Avengers" => 8, "Little Mermaid" => 8, "Inception" => 
9},
   "Clay" => {"Avengers" => 9, "Inception" => 10, "Independence Day" 
=> 7},
   "Christine" => {"Avengers" => 9, "Little Mermaid" => 8, 
"Inception" => 7},
   "Jon" => {"Avengers" => 5, "Little Mermaid" => 2, "Inception" => 
8},
   "David" => {"Avengers" => 3, "Inception" => 8, "Independence Day" 
=> 6}
}

function averageMovieRatings(obj) {
  var ratingObj = {};

  for (var k in obj) {
    var name = obj[key];

    for (var j in name) {
      if (ratingObj[j] === undefined) {
        ratingObj[j] = name[j];
      } else {
        ratingObj[j] += name[j];
      }
    }
  }
  return ratingObj;
}

1 个答案:

答案 0 :(得分:0)

您需要有效的JSON

function averageMovieRatings(obj) {
  var ratingObj = {};

  for (var k in obj) {
    var name = obj[k];

    for (var j in name) {
      if (ratingObj[j] === undefined) {
        ratingObj[j] = name[j];
      } else {
        ratingObj[j] += name[j];
      }
    }
  }
  return ratingObj;
}
averageMovieRatings(userRatings);

在功能代码中,将[键]更改为[k]

{
    "Avengers": 34,
    "Inception": 42,
    "Independence Day": 13,
    "Little Mermaid": 18
}

您应该将此对象作为结果

{{1}}