假设我有一个字符串列表。如何生成随机的?
答案 0 :(得分:21)
你的意思是,获得一个随机数组成员?
var strings = ['a', 'b', 'c'];
var randomIndex = Math.floor(Math.random() * strings.length);
var randomString = strings[randomIndex];
如果你的意思是随机字符串,那就有点不同了。
var randomStrLength = 16,
pool = 'abcdefghijklmnopqrstuvwxyz0123456789',
randomStr = '';
for (var i = 0; i < randomStrLength; i++) {
var randomChar = pool.charAt(Math.floor(Math.random() * pool.length));
randomStr += randomChar;
}
当然,您可以跳过pool
变量并使用介于97(String.fromCharCode()
)和122('a'.charCodeAt(0)
)之间的随机数进行'z'.charCodeAt(0)
小写字母等但是根据你想要的范围(小写和大写,加上特殊字符),使用池不太复杂。
答案 1 :(得分:8)
亚历克斯和马赫什是对的,只是想展示如果我觉得生活危险,我可以如何实施他们的解决方案。我做的。
Array.prototype.chooseRandom = function() {
return this[Math.floor(Math.random() * this.length)];
};
var a = [1, 2, 3, 4, 5];
a.chooseRandom(); // => 2
a.chooseRandom(); // => 1
a.chooseRandom(); // => 5
答案 2 :(得分:2)
var randomString = myStrings[Math.floor(Math.random() * myStrings.length)]
答案 3 :(得分:0)
var rand = 0;
var newPic = [];
var pic = [1,2,3] //length = 18 for ( var i=0; i<18; i++ ){
rand = Math.floor(Math.random()*19);
newPic.push(pic[rand-1].slice());
} alert(newPic);