我的服务中有这个功能
function getSomeData() {
return $http
.get('/someData.json')
.then(itWorked)
.catch(onFail);
返回该JSON文件中的所有记录。如果我只想要一张我有ID的记录怎么办?这似乎是一个简单的搜索,但我是空的。
答案 0 :(得分:0)
如果它是一个数组,你当然可以编写自己的find函数:
var foundItem;
data.forEach(function(item){
if(item === someId){
foundItem = item;
}
});
或者更好的是,如果您使用Lodash (我强烈推荐),您可以在一行中执行此操作:
var foundItem = _.find(data, {id: someId});
答案 1 :(得分:0)
一种方法是使用$ filter服务从列表中过滤记录。
var filterSelectedRecordFromList = function(
objectArray, expr) {
var filtered = $filter('filter')(objectArray,expr,true);
return filtered[0];
};
所以在你的情况下,如果调用filterSelectedRecordFromList如下所示.. 其中data是JSON列表,someID是您要搜索的Id。
var filteredRecord = filterSelectedRecordFromList(data,{id:someId},true);