Javascript JQuery-random.replace()错误
我对random.replace()有问题,它总是显示相同的随机数,我试图用不同的随机数替换$random$Javascript JQuery-random.replace()错误,javascript,jquery,variables,random,replace,Javascript,Jquery,Variables,Random,Replace,我对random.replace()有问题,它总是显示相同的随机数,我试图用不同的随机数替换$random$ $(document).ready(function() { var arr = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ] $("#present-users").children('li.present-user').each(f
$(document).ready(function() {
var arr = [
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'10'
]
$("#present-users").children('li.present-user').each(function() {
arr.push($(this).find('img')[0].title);
});
var random = arr[Math.floor(Math.random() * arr.length)];
var text = "$random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$ $random$".replace(/\$random\$/g, random);
alert(text)
});
谢谢,
尼古拉一种解决方案是使用过载:
str.replace(/\$random\$/g, function() {
return arr[Math.floor(Math.random() * arr.length)];
});
您只调用了一次Math.random(),并多次使用此答案 解决这一问题的一种方法是使随机函数成为一个函数,例如
var arr = [10,20,30];
var random = function(){return Math.floor(Math.random() * arr.length)};
alert(random());
alert(random());
alert(arr[random()]);
@daniel我想用不同的数字替换每个$random$,而不是相同的数字。