洗牌多个数组Javascript

时间:2017-04-08 11:25:02

标签: javascript arrays shuffle

我需要使用相同的函数对多个数组进行混洗,以便在每个句子中将单词随机化。

使用HTML i然后需要一个启动shuffle的按钮,输出的句子之间有换行符,例如:

var array1 = ["The, "Man", "and", "his", "dog"];
var array2 = ["went", "for", "a", "walk", "outside"];

单击按钮“shuffle”即可尝试让输出显示在单独的行上,如下所示:

男人和狗他的

外出散步

由于

2 个答案:

答案 0 :(得分:2)

您应该使用mapsort方法。

首先,您可以使用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;
&#13;
&#13;