Javascript 如何将字符串的每个字母保存在不同的数组位置?然后组合成一根线?

Javascript 如何将字符串的每个字母保存在不同的数组位置?然后组合成一根线?,javascript,Javascript,我正在做一个简单的游戏,计划用Fisher-Yates Shuffle来拼字 如何用字符串的每个字母填充数组?在算法完成后,如何用加扰的单词填充字符串 对于第二部分,我可以想象它只是在数组中循环,并将当前数组位置内容添加到字符串中,但不确定代码是什么样子 我对javascript不是很有经验,我知道这是一个比较宽泛的问题。您可以使用: var str = "A long string here...", var lettersArray = str.split(''); //["A", " ",

我正在做一个简单的游戏,计划用Fisher-Yates Shuffle来拼字

如何用字符串的每个字母填充数组?在算法完成后,如何用加扰的单词填充字符串

对于第二部分,我可以想象它只是在数组中循环,并将当前数组位置内容添加到字符串中,但不确定代码是什么样子

我对javascript不是很有经验,我知道这是一个比较宽泛的问题。

您可以使用:

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
以使其更清晰。