如何在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)))
})