Math.random()不应该重复相同的数字

时间:2013-06-05 05:57:10

标签: jquery

这是旋转字符串数组的简单jquery

$.fn.loadText = function( textArray, interval ) {
    return this.each( function() {
        var obj = $(this);
        obj.fadeOut( 'slow', function() {
            obj.empty().html( random_array( textArray ) );
            obj.fadeIn( 'slow' );
        });
        timeOut = setTimeout( function(){ obj.loadText( textArray, interval )}, interval );
            if( !obj.is(':animated') ) { clearTimeout( timeOut ); obj.loadText( textArray, interval );} 
    });
}

function random_array( aArray ) {
    var rand = Math.floor( Math.random() * aArray.length + aArray.length );
    var randArray = aArray[ rand - aArray.length ];
    return randArray;
}

$(document).ready( function() {
    var textArray = ["murali","prashanth","nutal","candy"];
    $('#mydiv').loadText( textArray, 5000 );
});

这是问题,新生成的随机数不应该与之前生成的相同,它应该是新数字,这样字符串数组就不应该重复了。让我们说如果再生成murali那么{ {1}}不应生成可能是其他字符串应该从数组中显示。请帮助

JSFIDDLE LINK HERE

1 个答案:

答案 0 :(得分:0)

  • (步骤1)随机选择项目后删除数组项目
  • (步骤2)重复步骤1 ,直到数组为空。