【发布时间】:2015-09-10 15:47:40
【问题描述】:
使用 iTunes 的搜索 API 我希望根据特定条件从专辑中获取歌曲集合。在这个solution 的帮助下,我设法完成了一半。唯一的问题是,有时专辑可能是干净的或明确的,最终会输出重复的歌曲。
我认为在这种情况下最好的解决方案是根据他们的collectionId 获取第一个可用的(有时是唯一的)歌曲集。不幸的是,这个值不像我在 filter() 函数中传递的值那样被临时知道。
如何利用下面的代码干净地选择一组:
$(function() {
iTunesSearch("Beauty Behind the Madness", "The Weeknd");
function iTunesSearch(album, artist, callback) {
var results;
$.getJSON("http://itunes.apple.com/search?term=" + album + "&entity=song&callback=?", function(data) {
results = data["results"];
console.log( filter(results, { collectionName: album, artistName: artist }) );
});
}
function filter(arr, criteria) {
return arr.filter(function(obj) {
return Object.keys(criteria).every(function(c) {
return obj[c] == criteria[c];
});
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【问题讨论】:
标签: javascript jquery ajax filter itunes