假设我有三个变量:
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上做到这一点。我试了一下,但这没有意义(
答案 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??"