可能重复:如何使用jQuery取出数组的第一项

时间:2015-12-03 17:06:11

标签: jquery arrays loops

这可能是以前最常被问过的,...... 如何在迭代后取出数组的第一项。 想要在点击一个按钮后总是显示一个数组的前5个项目,因为我认为最简单的方法是在索引达到4之后打破循环,因此我认为它最容易取出数组中的那些项目一旦添加到页面中。 我尝试过使用拼接和移位,但没有找到有意义的东西。 这是我到目前为止的代码:

    var myImages = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];

    $("#clicksy").on( "click", function() {

        $.each(myImages, function( index, value ) {
            $('#clicksy').before('<div class="array_item">' + value + '</div>');
            return index < 4;

        });

    });

可以在jsfiddle

上找到代码的示例

任何帮助都不仅仅是值得赞赏的。感谢。

2 个答案:

答案 0 :(得分:1)

C:\Android\projects\gcsai>cordova emulate

当您打印最后一个元素(即第五个元素)时,您可以 ( function( $ ){ var myImages = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; $("#clicksy").on( "click", function() { $.each(myImages, function( index, value ) { if(index>4){ return; } if(index==4){ myImages.splice(0,5); } $('#clicksy').before('<div class="array_item">' + value + '</div>'); }); }); }( jQuery )); splice

Working Fiddle

答案 1 :(得分:1)

这个怎么样?小提琴链接有评论你应该阅读解释。

( function( $ ){

    var myImages = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],
        counter = 0;

    $("#clicksy").on( "click", function() {
      for (var i=counter; i<counter+5; i++) {
        if (i == myImages.length) break;
        $('#clicksy').before('<div class="array_item">' + myImages[i] + '</div>');
      }
      counter=i;
    });
}( jQuery ));

Fiddle link

Fiddle which is a bit more fancy