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

Get json object with specific condition from an array of json objects using restangular

本文关键字:对象 json 获取 特定条件 数组 restangular 使用      更新时间:2024-03-07

如果我从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;                
        }
    }
});

但我宁愿不检索所有播放列表并循环浏览所有播放列表,因为这似乎效率很低。

提前感谢!

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

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

但如果您想要预加载的列表,我认为没有办法,只能使用循环

您可以尝试以下操作:

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