如何从数组中检索第一个值?

时间:2011-12-24 20:33:55

标签: javascript jquery arrays json youtube

我打电话给一张完美无缺的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);
        }
    }
})

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(“”);它会成为一个字符串。