Javascript 怎么用?无重复的数组和值用完时的文本

Javascript 怎么用?无重复的数组和值用完时的文本,javascript,jquery,html,random,Javascript,Jquery,Html,Random,我有一个div,它应该显示预定义数组中的一个随机值,不重复,然后,当没有更多的值时,它会显示一条特殊消息,如“no values left”。我如何做到这一点?(我正在使用JQuery)我试着做一个小片段。我用了这个 var$div=$('#myDiv'); var数组=['Sunday'、'Sunday'、'Sunday'、'Sunday'、'suday'、'suday'、'suday'、'suday'、'suday'、'suday'、'suday'、'suda; var interval=

我有一个div,它应该显示预定义数组中的一个随机值,不重复,然后,当没有更多的值时,它会显示一条特殊消息,如“no values left”。我如何做到这一点?(我正在使用JQuery)

我试着做一个小片段。我用了这个

var$div=$('#myDiv');
var数组=['Sunday'、'Sunday'、'Sunday'、'Sunday'、'suday'、'suday'、'suday'、'suday'、'suday'、'suday'、'suday'、'suda;
var interval=setInterval(函数(){
if(array.length){
var ranndindex=Math.floor(Math.random()*array.length);
var choosen=array.splice(随机索引,1);
}否则{
var choosen='您没有更多的值!';
间隔时间;
} 
$div.text(选择);
}, 1000);

您可以使用解决方案实现这一点:

//预定义数组
var my_数组=['a','b','c','d','e','f'];
//生成从0到my_array.length的数字数组
var numbers=Array.apply(null,{length:my_Array.length}).map(Number.call,Number);
//洗牌功能
函数洗牌(o){
对于(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};
//获取随机唯一数数组
var random=随机(数字);
//显示随机值

对于(var i=0;i我做了一点尝试。希望能有所帮助

//预定义的数组
var预定义数组=['something','else','more'];
//单击按钮获取下一个随机值
$(“#获取下一个值”)。单击(函数(){
//如果有一个值,则提取else回复没有剩余值
if(预定义数组.长度>0){
//获取一个随机值
var rand=predefinedarray[Math.floor(Math.random()*predefinedarray.length)];
//在数组中随机查找该值并将其删除
predefinedarray.splice($.inArray(rand,predefinedarray),1);
//在div中添加消息
$('#textbox').html(兰德);
}否则{
$('#textbox').html('No value left');
}
});

获取下一个值

你试过什么?你试过什么吗?共享一把小提琴?应该很有用。我现在有:jsfiddle.net/qw12okuy/10/听起来不错,但不是一个间隔,只是基本的。单击函数:)只需单击更改设置间隔;)很好,但我认为我必须将它放在一个单独的函数或其他东西中,以使其正常工作:如果希望数组不重复,请将其移到click事件之外,并在每次单击后删除该值。var predefinedarray=['something'、'hello'、'else'、'more']$(“帽子”)。单击(函数(){