使用restangular从json对象数组中获取具有特定条件的json对象

时间:2013-12-04 22:04:46

标签: javascript json angularjs restangular

如果我从json api(playlists.json)获取数据,并且播放列表对象具有user_id数据字段,我如何获得具有user_id == 1的特定播放列表?

我尝试过:

var playlists = Restangular.all('playlists');

playlists.getList().then(function(data) {
    for(var i = 0; i < data.length; i++) {
        var obj = data[i];
        if(obj.user_id == 1) {
            $scope.playlist = obj;                
        }
    }
});

但我宁愿不检索所有播放列表并循环遍历所有这些播放列表,因为它看起来非常低效。

提前致谢!

2 个答案:

答案 0 :(得分:2)

如果json api表示您可以使用playlist的集合:

Restangular.one('user_id', 1).then(function(data) {   
    $scope.playlist = data;  
}); 

但是如果你想要预加载列表,我认为除了使用循环

之外别无他法

答案 1 :(得分:0)

你可以尝试这样的事情:

playlists.getList().then(function(data) {
        angular.forEach(data, function(value, key) {
            if(value.user_id == 1) {
                scope.playlist = value;
                return;
            }
        });

    });