Javascript 如何将字符串的每个字母保存在不同的数组位置?然后组合成一根线?
我正在做一个简单的游戏,计划用Fisher-Yates Shuffle来拼字 如何用字符串的每个字母填充数组?在算法完成后,如何用加扰的单词填充字符串 对于第二部分,我可以想象它只是在数组中循环,并将当前数组位置内容添加到字符串中,但不确定代码是什么样子 我对javascript不是很有经验,我知道这是一个比较宽泛的问题。您可以使用:Javascript 如何将字符串的每个字母保存在不同的数组位置?然后组合成一根线?,javascript,Javascript,我正在做一个简单的游戏,计划用Fisher-Yates Shuffle来拼字 如何用字符串的每个字母填充数组?在算法完成后,如何用加扰的单词填充字符串 对于第二部分,我可以想象它只是在数组中循环,并将当前数组位置内容添加到字符串中,但不确定代码是什么样子 我对javascript不是很有经验,我知道这是一个比较宽泛的问题。您可以使用: var str = "A long string here...", var lettersArray = str.split(''); //["A", " ",
var str = "A long string here...",
var lettersArray = str.split(''); //["A", " ", "l", "o", "n", "g", " ", "s", "t", "r", "i", "n", "g", " ", "h", "e", "r", "e", ".", ".", "."]
//Doing some stuff here...
var scramble = lettersArray.join('')); //"A long string here..."
您可以使用:
var str = "A long string here...",
var lettersArray = str.split(''); //["A", " ", "l", "o", "n", "g", " ", "s", "t", "r", "i", "n", "g", " ", "h", "e", "r", "e", ".", ".", "."]
//Doing some stuff here...
var scramble = lettersArray.join('')); //"A long string here..."
这可以通过使用和
简单地实现 参见js上的示例
这段代码将把字符串分割成一个数组,然后将数组内容返回到一个字符串,字符串中的字符按原始顺序排列
var string = "hocus pocus",
array = string.split(""),
newString = array.join("");
alert(newString);
在ECMAScript 6(Harmony)中,还有一个新方法称为
我不相信有人会支持它
已经有了一个可用于此目的的,以便您可以在需要时立即开始使用此语法
这只是一个有趣的新特性说明。这可以通过使用和
参见js上的示例
这段代码将把字符串分割成一个数组,然后将数组内容返回到一个字符串,字符串中的字符按原始顺序排列
var string = "hocus pocus",
array = string.split(""),
newString = array.join("");
alert(newString);
在ECMAScript 6(Harmony)中,还有一个新方法称为
我不相信有人会支持它
已经有了一个可用于此目的的,以便您可以在需要时立即开始使用此语法
这是一个关于新功能的有趣说明。//使用Fisher-Yates:
function scrambleWord(word){
var A= word.split(''),
i, temp, L= A.length;
while(--L){
i= Math.floor(Math.random()*L);
temp= A[i];
A[i]= A[L];
A[L]= temp;
}
return A.join('');
}
var alpha= 'supercalifragelisticexpialadocious';
scrambleWord(alpha);
/* returned value: (String)
xgitellpcuecpuraaiasrideloiasfscio
*/
//使用Fisher-Yates:
function scrambleWord(word){
var A= word.split(''),
i, temp, L= A.length;
while(--L){
i= Math.floor(Math.random()*L);
temp= A[i];
A[i]= A[L];
A[L]= temp;
}
return A.join('');
}
var alpha= 'supercalifragelisticexpialadocious';
scrambleWord(alpha);
/* returned value: (String)
xgitellpcuecpuraaiasrideloiasfscio
*/
到目前为止你试过什么了吗?到目前为止你试过什么了吗?谢谢,我会试一试的。请您解释一下console.log的含义好吗?我可以使用var-scramble=lettersArray.join(“”))?是的,您可以使用'var scramble=lettersArray.join('');`您不需要
控制台.log
。我只是在打印整个字符串。我将编辑我的答案并删除console.log
以使其更清晰。谢谢,我将尝试一下。请您解释一下console.log的含义好吗?我可以使用var-scramble=lettersArray.join(“”))?是的,您可以使用'var scramble=lettersArray.join('');`您不需要控制台.log
。我只是在打印整个字符串。我将编辑我的答案并删除console.log
以使其更清晰。