我打电话给一张完美无缺的YouTube XML表。但是,我无法从其中一个数组中设置值。我想将“songID”中的第一个值设置为“first”。我试过这样做:
var first = songID[0]
但它只生成一个只包含每个值的第一个字符的新数组...有什么建议吗?
$(window).load(function(){
var pURL = 'http://gdata.youtube.com/feeds/api/playlists/F9183F81E7808428?v=2&alt=json&callback=?';
$.getJSON(pURL, function(data) {
$.each(data.feed.entry, function(i, item) {
var songID = item.media$group.media$content[0].url.substring(25, [36]);
var songTitle = item.title.$t;
var descript = item.media$group.media$description.$t;
var songAth = descript.slice(3);
}
}
})
答案 0 :(得分:1)
您已经处于each()
循环中,因此您不应该尝试将其作为数组访问,而只是作为值。试试吧:
if(i == 0){
var first = songID;
}
答案 1 :(得分:0)
$(document).ready(function() {
var pURL = 'http://gdata.youtube.com/feeds/api/playlists/9002A5F66694EBA0?v=2&alt=json&callback=?';
$.getJSON(pURL, function(data) {
$.each(data.feed.entry, function(i, item) {
var songID = item.media$group.media$content[0].url.substring(25, [36]);
var songTitle = item.title.$t;
var descript = item.media$group.media$description.$t;
var songAth = descript.slice(3);
if(i==0){
alert("firstId is "+songID );
}
});
});
});
或仅用于第一个ID:
var pURL = 'http://gdata.youtube.com/feeds/api/playlists/9002A5F66694EBA0?v=2&alt=json&callback=?';
$.getJSON(pURL, function(data) {
console.log(data.feed.entry[0].media$group.media$content[0].url.substring(25, [36]));
});
});
答案 2 :(得分:0)
你确定你得到的实际上是一个阵列吗?什么让你有那个想法?因为如果你要求aString [0],你仍然会得到第一个字符,因为你可以访问字符串字符,好像它们是数组元素一样。如果它确实是一个数组,只需使用var myString = myArray.join(“”);它会成为一个字符串。