遍历forEach

时间:2015-12-04 09:57:11

标签: angularjs

我有forEach函数,

angular.forEach(response, function(item){
  if (item.hasOwnProperty('key')) {
    $scope.youtubeTrailer.push(item.key);
    var youtubeString = $scope.youtubeTrailer.join();
  }
  console.log (youtubeString)
});

这会从响应中获取所有key值,并将它们推送到名为youtubeTrailer的范围内。然后我使用join()将数组转换为字符串,并将字符串放在变量中。

现在我想在create function中使用变量youtubeString

createMovie.create({
  release_date:    $scope.movieListID.release_date,
  youtube_trailer: youtubeString,
  imdb_rating:     $scope.movieImdbRating.imdbRating,
  title:           $scope.movieListID.original_title,
  image:           $scope.movieListID.poster_path,
  movie_id:        $scope.movieListID.id
}).then(init);

但是因为create函数在forEach函数之外(否则它将对forEach ) I get an中的每个值执行create操作,youtubeString是未定义的。

那么如何从create function中的youtubeString访问变量forEach

1 个答案:

答案 0 :(得分:1)

尝试在forEach循环之外声明#statusController { background: #333; height: 100vh !important; min-height: 100vh !important; max-height: 100vh !important; } td { font-size: 100vh; } body, html { padding: 0; margin: 0; color: white; height: 100vh !important; min-height: 100vh !important; max-height: 100vh !important; } - 变量,或者更好地执行forEach之外的<div id="statusController"> <table> <tr> <td>Hello</td> <td>World</td> </tr> <tr> <td>Hello</td> <td>World</td> </tr> <tr> <td>Hello</td> <td>World</td> </tr> <tr> <td>Hello</td> <td>World</td> </tr> <tr> <td>Hello</td> <td>World</td> </tr> <tr> <td>Hello</td> <td>World</td> </tr> </table>