0
我在排序代碼中的結果時遇到了一些麻煩。每次結果順序都是隨機的......我該如何解決這個問題?使用JQuery排序Youtube API數組
我想用一個通道ID數組來創建重複GET代碼的函數。誰可以幫助我?非常感謝。格式
var ItemArray = [];
var d1 = $.get("https://www.googleapis.com/youtube/v3/search?channelId=UCVQ2Z9dNQ2aJJ10f6SgBH0g&type=video&order=date&maxResults=1&part=snippet&KEY",
function (data) {
$.each(data.items, function (i, item) {
idee = item.id.videoId;
tittie = item.snippet.title;
cattit = item.snippet.channelTitle;
datie = item.snippet.publishedAt;
ItemArray.push([datie, cattit, idee, tittie]);
});
});
var d2 = $.get("https://www.googleapis.com/youtube/v3/search?channelId=UC2xskkQVFEpLcGFnNSLQY0A&type=video&order=date&maxResults=1&part=snippet&KEY",
function (data) {
$.each(data.items, function (i, item) {
idee = item.id.videoId;
tittie = item.snippet.title;
cattit = item.snippet.channelTitle;
datie = item.snippet.publishedAt;
ItemArray.push([datie, cattit, idee, tittie]);
});
});
var d3 = $.get("https://www.googleapis.com/youtube/v3/search?channelId=UCGHi_s4RrqUh4hsS4mLbiPg&type=video&order=date&maxResults=1&part=snippet&key=KEY",
function (data) {
$.each(data.items, function (i, item) {
idee = item.id.videoId;
tittie = item.snippet.title;
cattit = item.snippet.channelTitle;
datie = item.snippet.publishedAt;
ItemArray.push([datie, cattit, idee, tittie]);
});
});
var d4 = $.get("https://www.googleapis.com/youtube/v3/search?channelId=UCy5QKpDQC-H3z82Bw6EVFfg&type=video&order=date&maxResults=1&part=snippet&key=KEY",
function (data) {
$.each(data.items, function (i, item) {
idee = item.id.videoId;
tittie = item.snippet.title;
cattit = item.snippet.channelTitle;
datie = item.snippet.publishedAt;
ItemArray.push([datie, cattit, idee, tittie]);
});
});
$.when(d1, d2, d3, d4).done(function() {
ItemArray.sort(function(a, b) {
return a[0] - b[0];
});
for(i=0;i<=ItemArray.length;i++){
$('#mytable').append('<tr><td>'+ItemArray[i][0]+'</td><td><a target="_blank" href="https://www.youtube.com/user/'+ItemArray[i][1]+'">'+ItemArray[i][1]+'</a></td><td><a target="_blank" href="https://www.youtube.com/watch?v='+ItemArray[i][2]+'">'+ItemArray[i][3]+'</a></td></tr>');
}
})
})
我覺得問題在於你的排序功能。根據您從YouTube獲取日期的方式,您可能需要將其轉換,因爲Array.prototype.sort要求您返回正數或負數。例如你是否嘗試過像'datie = new Date(item.snippet.publishedAt)'這樣的比較類似'return a [0] .getTime() - b [0] .getTime()'? – johnnycrab
是的你是對的。其工作現在感謝:) 我有另一個問題。我想把channeld放在一個數組中,所以我只需要一個get函數。我如何做到這一點?然後,我應該寫什麼「什麼時候」......謝謝.. –
我不認爲你可以在搜索調用中放置多個channeIIds(至少我沒有在YouTube API文檔中找到任何東西)。 – johnnycrab