Javascript 随机分裂子串

Javascript 随机分裂子串,javascript,Javascript,我试图从一个字符串中分离出子字符串字符,而到目前为止,我的尝试甚至在循环中循环都失败了 字符串“1234567890”的示例结果输出如下所示 12 345 6 7890 var randomChar=“” var str=“123456789”; 对于(var j=0;j

我试图从一个字符串中分离出子字符串字符,而到目前为止,我的尝试甚至在循环中循环都失败了

字符串“1234567890”的示例结果输出如下所示

12
345
6
7890

var randomChar=“”
var str=“123456789”;
对于(var j=0;j
给你:

    var substrSize;
    while (str.length) {
         substrSize = Math.floor(Math.random()*3)+1; // at most 4? 
         if (substrSize >= str.length)
             randomChar = str;
         else
             randomChar = str.substr(0,substrSize);
         str = str.substr(randomChar.length);
         console.log(randomChar);
    }
或者:

    var j = 0;
    while (j < str.length) {
         var n= j+Math.floor(Math.random() * 3) + 1;
         if (n> str.length) n= str.length;
         console.log(str.substring(j, n));
         j = n;
    }
    var j = 0;
    while (j < str.length) {
         var n= Math.floor(Math.random() * 3) + 1;
         if (j+n> str.length) n= str.length-j;
         console.log(str.substr(j, n));
         j += n;
    }
var j=0;
而(jstr.length)n=str.length;
console.log(str.substring(j,n));
j=n;
}
或者:

    var j = 0;
    while (j < str.length) {
         var n= j+Math.floor(Math.random() * 3) + 1;
         if (n> str.length) n= str.length;
         console.log(str.substring(j, n));
         j = n;
    }
    var j = 0;
    while (j < str.length) {
         var n= Math.floor(Math.random() * 3) + 1;
         if (j+n> str.length) n= str.length-j;
         console.log(str.substr(j, n));
         j += n;
    }
var j=0;
而(jstr.length)n=str.length-j;
console.log(str.substr(j,n));
j+=n;
}

您的代码的问题是您总是迭代
str.length
次。例如,在删除前3个随机字符后,您应该从第4个开始,而不是从第2个开始

这是一个优雅的递归解决方案,与您的解决方案大不相同:

function randString(s) {
   if(s.length > 0) {
     var pivot = Math.ceil(Math.random() * 3);
     console.info(s.substring(0, pivot));
     randString(s.substring(pivot));
   }
}
var randomChar=“”
var str=“123456789”;
var j=0;
而(j
您能否更具体地说明分离的随机性?有多少不同的子串是随机的吗?还是子字符串的大小是随机的?@aug每个拆分的分隔符最多可以是4个字符,并且子字符串的总拆分最好由剩余的字符决定,我希望这会有所帮助