2015-04-12 19 views
2

我想匹配id,我需要獲得特定的描述,我該如何得到這個?我想匹配角度foreach中的特定ID

我該如何解決這個問題?

$scope.getAlbumList = '[{"album_desc":"Test1","id":1,"album_title":"Test","ImageName":"Desert.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Desert.jpg","large_pic_loc":"Desert.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]},{"album_desc":"Test1","id":2,"album_title":"Test1","ImageName":"Koala.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Koala.jpg","large_pic_loc":"Koala.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]},{"album_desc":"Album Title","id":3,"album_title":"Album Title","ImageName":"Tulips.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Tulips.jpg","large_pic_loc":"Tulips.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]},{"album_desc":"fsdfdsfds fsdfds fds fdsfdsfdsfsdfdsfbdsfkdskjfh dskjfh skjdfhdskjhfk sjdhfdskjhfksjdhfkjdsfh sf dfsjfnkjdshf dsjhf ksksfhkjfhds fdshfhkjdsfhdskjhfkj dshf dskjfh skjdhfskjdhfkjdsfhdskjfhkjdsfhsd fkjdshfkjsdhfkj hjshdjfhdskjfhs fdsjhf dskjhfdskjfh dskjfhdskjfhsdkjfhdskjfsdk jdshfkjdsh kjfdshkjfshkjdfshkj fdshkjdskjsh kjds hfkjsd kdshfkjdshfkjsdhfkjdshfkjdshfkjsdkjf fkjdsh fkjshdfkjdshf dskjf","id":4,"album_title":"sdfds","ImageName":"Lighthouse.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Lighthouse.jpg","large_pic_loc":"Lighthouse.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]}]'; 
$scope.getalbumarray = 'http://localhost/learn/comment/#/album_details/1'; 

     angular.forEach($scope.getAlbumList, function(item) { 
     $scope.albumDescription = item.id;  
     //console.log(item.id); 
     //console.log($scope.getalbumarray[$scope.getalbumarray.length - 1]); 
     if(item.id == $scope.getalbumarray[$scope.getalbumarray.length - 1]){ 
      $scope.albumDescription = item.album_desc; 
      //console.log('1'); 
     }else{ 
      //console.log('2'); 
      $scope.albumDescription = item.album_desc; 
     } 
     }); 

     console.log($scope.albumDescription); 
     $scope.showDescrption = $scope.albumDescription; 

回答

1

使用此它會爲你工作

$scope.getalbumarray = window.location.href.split('/'); 

     $scope.albumDescr = ''; 
     var albumId = $scope.getalbumarray[$scope.getalbumarray.length - 1]; 
     var albums = $scope.getAlbumList.filter(function(item) { 

      if(item.id == albumId){    
       $scope.albumDescr += item.album_desc; 
      }   
      //return $scope.albumDescription = item.album_desc;; 
     })[0]; 

     $scope.albumDescription = $scope.albumDescr; 
     console.log('$scope.albumDescription'); 
1
$scope.getAlbumList 

,因爲你加

$scope.getAlbumList = '[{"album_desc":"Test1", .... ,"pic_id":"d5bd"}]}]'; 

刪除引號已經成爲一個字符串。它應該是這樣的:

$scope.getAlbumList = [{"album_desc":"Test1", .... ,"pic_id":"d5bd"}]}]; 
+0

你的回答是不清楚不能得到ü – phpdev

1

試試這個

$scope.getAlbumList = '[{"album_desc":"Test1","id":1,"album_title":"Test","ImageName":"Desert.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Desert.jpg","large_pic_loc":"Desert.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]},{"album_desc":"Test1","id":2,"album_title":"Test1","ImageName":"Koala.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Koala.jpg","large_pic_loc":"Koala.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]},{"album_desc":"Album Title","id":3,"album_title":"Album Title","ImageName":"Tulips.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Tulips.jpg","large_pic_loc":"Tulips.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]},{"album_desc":"fsdfdsfds fsdfds fds fdsfdsfdsfsdfdsfbdsfkdskjfh dskjfh skjdfhdskjhfk sjdhfdskjhfksjdhfkjdsfh sf dfsjfnkjdshf dsjhf ksksfhkjfhds fdshfhkjdsfhdskjhfkj dshf dskjfh skjdhfskjdhfkjdsfhdskjfhkjdsfhsd fkjdshfkjsdhfkj hjshdjfhdskjfhs fdsjhf dskjhfdskjfh dskjfhdskjfhsdkjfhdskjfsdk jdshfkjdsh kjfdshkjfshkjdfshkj fdshkjdskjsh kjds hfkjsd kdshfkjdshfkjsdhfkjdshfkjdshfkjsdkjf fkjdsh fkjshdfkjdshf dskjf","id":4,"album_title":"sdfds","ImageName":"Lighthouse.jpg","album_pics":[{"media_type":"image/jpeg","last_modified_date":1247549551000,"thumnail_pic_loc":"Lighthouse.jpg","large_pic_loc":"Lighthouse.jpg","filter_type":"image/jpeg","pic_id":"d5bd"}]}]'; 
 
$scope.getalbumarray = 'http://localhost/learn/comment/#/album_details/1'; 
 

 
     angular.forEach(JSON.parse($scope.getAlbumList), function(item) { 
 
     $scope.albumDescription = item.id;  
 
     //console.log(item.id); 
 
     //console.log($scope.getalbumarray[$scope.getalbumarray.length - 1]); 
 
     if(item.id == $scope.getalbumarray[$scope.getalbumarray.length - 1]){ 
 
      $scope.albumDescription = item.album_desc; 
 
      //console.log('1'); 
 
     }else{ 
 
      //console.log('2'); 
 
      $scope.albumDescription = item.album_desc; 
 
     } 
 
     }); 
 

 
     console.log($scope.albumDescription); 
 
     $scope.showDescrption = $scope.albumDescription;

1

你是不是從URL字符串中提取的相冊ID,現在你得到的最後一個字符id始終會爲擁有2個以上字符的ID打破。

試試這個

$scope.getalbumarray = 'http://localhost/learn/comment/#/album_details/1'; 

var albumId = $scope.getalbumarray.split('/').pop(); 
var albums = $scope.getAlbumList.filter(function(item) { 
    return item.id === albumId; 
})[0]; 

albums後,將首先匹配的專輯。我假設你只需要其中一個(並且只有一個總是或undefined),如果沒有發現。