Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jquery中将字符串随机拆分为数组_Jquery_Arrays_Split - Fatal编程技术网

如何在jquery中将字符串随机拆分为数组

如何在jquery中将字符串随机拆分为数组,jquery,arrays,split,Jquery,Arrays,Split,我有以下代码: var str = 'one, two, three'; var substr = str.split(', '); 这将创建我们期望的数组。但是有没有一种方法可以拆分单词,将它们洗牌,然后将它们插入substr数组? 感谢Native sort()函数可以获取一个函数作为参数,让您决定如何对数组进行排序 所以你可以给它一个函数来生成随机结果 var str = 'one, two, three'; var substr = str.split(', '); substr.s

我有以下代码:

var str = 'one, two, three';
var substr = str.split(', ');
这将创建我们期望的数组。但是有没有一种方法可以拆分单词,将它们洗牌,然后将它们插入substr数组? 感谢

Native sort()函数可以获取一个函数作为参数,让您决定如何对数组进行排序

所以你可以给它一个函数来生成随机结果

var str = 'one, two, three';
var substr = str.split(', ');

substr.sort(function () {
    return( parseInt( Math.random()*10 ) %2 );
});

我得到的答案与基恩基本相同,只是一些风格上的差异:)

  • 我把你的“拆分”改成了正则表达式。如果您只想在特定的子字符串上进行匹配,这很好,但是如果您处理的是用户输入,那么编写拆分就很方便了,这样您就可以处理逗号之前或之后的空格,并通过
    split
    函数将它们剥离出来
  • keune和我都为我们的
    sort()
    函数计算不同的返回值。两者都提供随机结果;只要您返回一个随机整数值,它可以是负数或正数,您就可以得到洗牌数组

另外,作为一个次要的样式说明,这与JQuery无关。这是纯JavaScript。

您可以将它们拆分为一个数组,然后使用
[].sort()
方法对它们进行随机排序。
var random_results = 'one, two, three'.
                        split(/\s*,\s*/).
                        sort(function(){
                            return (-1 + Math.floor((Math.random() * 3))) 
                        })