Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
如何在javascript中替换字符串中的随机字符_Javascript_Algorithm - Fatal编程技术网

如何在javascript中替换字符串中的随机字符

如何在javascript中替换字符串中的随机字符,javascript,algorithm,Javascript,Algorithm,我想替换从另一个字符串中随机选取的字符 var charToTakeFrom = '0x080,0x081,0x082,0x083,0x084,0x085,0x086,0x087,0x088,0x089,0x090'; var givenString = 'The brown fox jumps over the pink fence.'; 结果字符串应使用charToTakeFrom字符串中的随机字符替换givenString中的随机字符 最简单的方法是编写for循环,将givenStrin

我想替换从另一个字符串中随机选取的字符

var charToTakeFrom = '0x080,0x081,0x082,0x083,0x084,0x085,0x086,0x087,0x088,0x089,0x090';
var givenString = 'The brown fox jumps over the pink fence.';
结果字符串应使用charToTakeFrom字符串中的随机字符替换givenString中的随机字符

最简单的方法是编写for循环,将givenString中的随机字符数替换为charToTakeFrom中的随机字符数


有更简单/更快的方法吗?

整句话:

var ctu=[],s=“这只鸟雄伟地飞越山谷寻找蠕虫。”,newstring=“”;
ctu[0]=“derp4561”;
ctu[1]=“derp12534”;
ctu[2]=“derp684”;
var s=s.split(“”);

对于(var i=0;i整词:

var ctu=[],s=“这只鸟雄伟地飞越山谷寻找蠕虫。”,newstring=“”;
ctu[0]=“derp4561”;
ctu[1]=“derp12534”;
ctu[2]=“derp684”;
var s=s.split(“”);

对于(var i=0;i我不确定这是否是最快的方法,但无论如何它已经足够简单了=)希望你喜欢它

EDIT2在JS上完成

var complexity = 0.3; // 0 to .99 if more then more letters in src string will be replaced by random ones 
var randsArr = ("!@#$)**($#*)($#$()$()#$%^&*()%^$#$$#$^").split('').sort(function () { return 0.5 - Math.random()});
var srcArr = ("The brown fox jumps over the pink fence.").split('');
result = $.map(srcArr,function (el) { return (Math.random()>complexity) ? el : (randsArr.length) ? randsArr.shift() : el ; }).join('');
关于JSFiddle

旧php版本,以防有人需要:

$rands = "!@#$%^&*()";
$srcStr = "The brown fox jumps over the pink fence.";
$srcArr = str_split ($srcStr);
$randsArr = array_merge(str_split($rands),array_fill(strlen($rands),strlen($srcStr)-strlen($rands),false));
shuffle($randsArr);
echo implode(array_map(function($letter,$replacement) {  return ($replacement!=false)?$replacement:$letter;  },$srcArr,$randsArr));

编辑我的错…我在想它是关于php=(给我几分钟时间在JS上重写它

我不确定这是否是最快的方法,但无论如何它已经够古怪了=)希望你喜欢它

EDIT2在JS上完成

var complexity = 0.3; // 0 to .99 if more then more letters in src string will be replaced by random ones 
var randsArr = ("!@#$)**($#*)($#$()$()#$%^&*()%^$#$$#$^").split('').sort(function () { return 0.5 - Math.random()});
var srcArr = ("The brown fox jumps over the pink fence.").split('');
result = $.map(srcArr,function (el) { return (Math.random()>complexity) ? el : (randsArr.length) ? randsArr.shift() : el ; }).join('');
关于JSFiddle

旧php版本,以防有人需要:

$rands = "!@#$%^&*()";
$srcStr = "The brown fox jumps over the pink fence.";
$srcArr = str_split ($srcStr);
$randsArr = array_merge(str_split($rands),array_fill(strlen($rands),strlen($srcStr)-strlen($rands),false));
shuffle($randsArr);
echo implode(array_map(function($letter,$replacement) {  return ($replacement!=false)?$replacement:$letter;  },$srcArr,$randsArr));

编辑我的错…我想这是关于php=(给我几分钟时间在JS上重写它

首先,你最好使用数组。然后:

var charToTakeFrom = [0x080,0x081,0x082,0x083,0x084,0x085,0x086,0x087,0x088,0x089,0x090];
var givenString = 'The brown fox jumps over the pink fence.';
var randomNumber = Math.floor((Math.random() * 10)) + 1); //Computes a random number from 1 to 11
var slicer = randomNumber - 1;
var slice = charToTakeFrom.slice(slicer, randomNumber); //get the character

我假设您已经知道如何替换字符串。

首先,您最好使用数组。然后:

var charToTakeFrom = [0x080,0x081,0x082,0x083,0x084,0x085,0x086,0x087,0x088,0x089,0x090];
var givenString = 'The brown fox jumps over the pink fence.';
var randomNumber = Math.floor((Math.random() * 10)) + 1); //Computes a random number from 1 to 11
var slicer = randomNumber - 1;
var slice = charToTakeFrom.slice(slicer, randomNumber); //get the character

我假设你已经知道如何替换字符串。

我将为你做一个快速示例。我添加了我的答案+一个工作示例,请告诉我这是否是你需要的。在JS=)上重写我的答案我将为你做一个快速示例。我添加了我的答案+一个工作示例,请告诉我这是否是你需要的。在JS=)上重写我的答案)谢谢Zachrip。这很好,但不是我想要的。我正在寻找从givenString中随机选取的单个字符替换为从charToTakeFrom(数组或字符串)中随机选取的字符。@RamIyer哦,好的,那也很容易。我可以再编一个例子(只是稍微调整一下)@RamIyer更新了,希望这就是你的意思。谢谢Zachrip。这很好,但不是我想要的。我正在寻找从givenString中随机选取的单个字符替换为从charToTakeFrom(数组或字符串)中随机选取的字符。@RamIyer哦,好的,那也很容易。我可以再举一个例子(只是稍微调整一下)@RamIyer更新,希望这就是你的意思。