我需要使用相同的函数对多个数组进行混洗,以便在每个句子中将单词随机化。
使用HTML i然后需要一个启动shuffle的按钮,输出的句子之间有换行符,例如:
var array1 = ["The, "Man", "and", "his", "dog"];
var array2 = ["went", "for", "a", "walk", "outside"];
单击按钮“shuffle”即可尝试让输出显示在单独的行上,如下所示:
男人和狗他的
外出散步
由于
答案 0 :(得分:2)
您应该使用map
和sort
方法。
首先,您可以使用Math.random
方法为数组中的每个项生成一个随机数。下一步是按此generated
数字对数组进行排序。
最后一步是使用join
方法创建包含数组项的句子。
var array1 = ["The", "Man", "and", "his", "dog"];
console.log(array1.map(function(n){
return [Math.random(), n];
}).sort().map(function(item){
return item[1] ;
}).join(' '));

答案 1 :(得分:0)
这应该为你做....
["The", "Man", "and", "his", "dog"]
.map(w => { return { seq: Math.random(), word: w } })
.sort((a,b) => a.seq<b.seq?-1:1)
.map(w => w.word)
&#13;