javaScript更改字符串char的位置

时间:2013-11-28 17:08:12

标签: javascript html

假设我有三个变量:

a, b, c

我设置了这样的值:

2,1,3

我有这样的字符串:

ilovemama

我怎么能改变char位置,通过三个块,在我的情况下我有三个块:

ilo
vem
ama

让我们试试第一块:

1 2 3
i l o

我必须通过我的a,b,c来改变这个位置:

2 1 3
l i o

结束了,然后将这个块连成一行...... 我想我会正常解释。

我可以在jQuery上做这个,但我无法想象,如何在纯JS上做到这一点。我试了一下,但这没有意义(

1 个答案:

答案 0 :(得分:2)

var string = 'some string'
    a = string.charAt(0),
    b = string.charAt(1),
    c = string.charAt(2); // and so on

var newString = b + a + c; //oms
var otherString = c + b + a; //mos

.charAt(0)将选择字符串的第一个字母(索引为0的字符串),依此类推。     根据我的理解,你可以将值分配给vars

对于块, 这样做;

var string='some string';

var a = string.slice(0, 3),
    b = string.slice(3, 7),
    c = string.slice(7, 11); and so on

然后是相同的

var newString = c +a +b; // will be = 'ringsome st' 

要在您可以使用的评论中按要求查找索引;

var str = "Hello There",
indexOfr = str.indexOf("r"); 
console.log(indexOfr); // outputs 9

一个功能可以是;

function dynamo(string) {
var len = string.length-1,
    parts = 3,
    whereToCut = Math.floor(len/parts);

var a = string.slice(0, whereToCut), 
    b = string.slice(whereToCut, (whereToCut *2)), 
    c = string.slice((whereToCut *2), len+1);
return b + a + c;
//(or you could hwere some code to see what order you want, i dont understand your request there) 

}
dynamo('what do you really want to do??');
//returns "u really wwhat do yoant to do??"