Javascript Jquery从textarea获取随机单词
我的问题很简单,但我想不出怎么做 我有一个文本区域,其中有一些文本,我想从文本中获取5个随机单词,并将它们放入另一个输入字段(自动)。我不想说具体的话。随机5个单词。就这样。谢谢 例如: “Lorem ipsum Door sit amet,Concertetur Adipising Elite,sed do 这是一种临时性的劳动和生活方式 最低成本、最低成本和最低成本 我是一个普通消费者,我是一个酒鬼 这是一个充满活力的故事 不可忽视的例外情况,必须在 这是我的错,因为我的动物是我的劳动。” 写入此文本时包含的输入字段,例如:ipsum、amet、veniam、velit、DeCount。这应该可以:Javascript Jquery从textarea获取随机单词,javascript,jquery,random,input,words,Javascript,Jquery,Random,Input,Words,我的问题很简单,但我想不出怎么做 我有一个文本区域,其中有一些文本,我想从文本中获取5个随机单词,并将它们放入另一个输入字段(自动)。我不想说具体的话。随机5个单词。就这样。谢谢 例如: “Lorem ipsum Door sit amet,Concertetur Adipising Elite,sed do 这是一种临时性的劳动和生活方式 最低成本、最低成本和最低成本 我是一个普通消费者,我是一个酒鬼 这是一个充满活力的故事 不可忽视的例外情况,必须在 这是我的错,因为我的动物是我的劳动。”
var content = $("#myTextarea").val(),
words = content.split(" ");
var randWords = [],
lt = words.length;
for (var i = 0; i < 5; i++)
randWords.push(words[Math.floor(Math.random() * lt)]);
$("#otherField").val(randWords.join(" "));
var content=$(“#myTextarea”).val(),
文字=内容。拆分(“”);
var randWords=[],
lt=单词长度;
对于(变量i=0;i<5;i++)
randWords.push(单词[Math.floor(Math.random()*lt)];
$(“#其他字段”).val(randWords.join(“”);
编辑:要防止重复,可以使用以下命令:
var nextWord;
for (var i = 0; i < 5; i++)
{
nextWord = words[Math.floor(Math.random() * lt)];
if (("|" + randWords.join("|") + "|").indexOf("|" + nextWord + "|") != -1)
{
i--;
continue;
}
randWords.push(nextWord);
}
var-nextWord;
对于(变量i=0;i<5;i++)
{
nextWord=words[Math.floor(Math.random()*lt)];
if((“|”+randWords.join(“|”+“|”)indexOf(“|”+nextWord+“|”)1)
{
我--;
继续;
}
randWords.push(下一步);
}
这是我对工作流程的建议:
var text = "Lorem ipsum ......";
var words = $.unique(text.match(/\w+/mg));
var random = [];
for(var i=0; i<5; i++) {
var rn = Math.floor(Math.random() * words.length);
random.push( words[rn]);
words.splice(rn, 1);
}
alert( random ):
var text=“Lorem ipsum……”;
var words=$.unique(text.match(/\w+/mg));
var random=[];
对于(var i=0;i甚至更短:
var str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.';
function rWords( t ) {
for ( var i = 5, s = t.match( /(\d|\w|')+/g ), r = [] ; i-- ; r.push( s[ Math.random() * s.length | 0 ] ) );
return r.join( ', ' ).toLowerCase();
}
console.log( rWords( str ) );
> lorem, eiusmod, elit, dolor, do
你应该检查数组是否已经包含该字符串,并对indexOfCode进行加密以防止重复。使用文本而不是val作为输出div这很简单->好的,它可以工作,但当我尝试在我的站点中工作时它无法工作!有什么问题,请帮我解决。感谢以前的帖子。我的HTML代码是与此相同,我粘贴在JSFIDLE中,从外部js文件加载jquery代码。结果相同…:/