Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 在react中使用复杂的字符串置乱_Javascript_Reactjs_String_Scramble - Fatal编程技术网

Javascript 在react中使用复杂的字符串置乱

Javascript 在react中使用复杂的字符串置乱,javascript,reactjs,string,scramble,Javascript,Reactjs,String,Scramble,该问题要求返回一个经过洗牌的字符串,但以特定方式返回: 我们只想“搅乱”句子中的每个单词,所以单词的顺序保持不变 同样的 每个单词将保留第一个和最后一个字母的位置,中间的字母将被删除 爬。例如,如果原始单词是“animal”,则应将该单词随机化为 类似“aainml”的东西 如果单词只有一个或两个字符,则保持不变 每个句子最多有5个单词 每个单词最多有15个字符 每个单词之间永远不会有超过一个空格。 所以“我爱学习代码”应该变成“我爱你”。 我该怎么做呢 导入“/styles.css”; 导

该问题要求返回一个经过洗牌的字符串,但以特定方式返回:

  • 我们只想“搅乱”句子中的每个单词,所以单词的顺序保持不变 同样的
  • 每个单词将保留第一个和最后一个字母的位置,中间的字母将被删除 爬。例如,如果原始单词是“animal”,则应将该单词随机化为 类似“aainml”的东西
  • 如果单词只有一个或两个字符,则保持不变
  • 每个句子最多有5个单词
  • 每个单词最多有15个字符
  • 每个单词之间永远不会有超过一个空格。 所以“我爱学习代码”应该变成“我爱你”。 我该怎么做呢
导入“/styles.css”; 导出默认函数App(){ var str=“我是一个句子”; var array=str.match(/(“[^”]+“|[^”\s]+)/g);//重新返回数组中的单词 console.log(数组); var word=“disant”; var middleWord=“”;
对于(var i=1;i您在尝试获取最后一个字母时出现了一个off-by-one错误。由于索引是0索引的,您希望
长度-1
访问最后一个字母

word = word[0] + scrambled + word.charAt(word.length - 1);
const word=“distance”;

console.log(word.charAt(word.length-1))
这不是一个代码编写服务,请为您的代码添加一个,并添加有关任何错误或任何不正常工作的详细信息。似乎一个简单的字符串拆分来获得一个单词数组,然后对单词进行置乱就可以了。@mhodges它实际上是在应用一个洗牌算法。Google让查找一个简单的,Fischer Yates可能是最重要的结果(也是你链接中的最重要的答案谢谢你的回答,我知道如何加扰,我的代码的问题是结果字符串不包括我单词的最后一个字母。我似乎无法找到插入它的方法。
word = word[0] + scrambled + word.charAt(word.length - 1);