我想提醒字符串的每个字母,但我不确定如何做到这一点。
如果我有:
var str = 'This is my string';
我希望能够分别提醒T h I s等等。这只是我正在研究的一个想法的开始,但我需要知道如何分别处理每个字母。
我在想,我可能需要在测试字符串的长度后使用分割函数。
我该怎么做呢?
我想提醒字符串的每个字母,但我不确定如何做到这一点。
如果我有:
var str = 'This is my string';
我希望能够分别提醒T h I s等等。这只是我正在研究的一个想法的开始,但我需要知道如何分别处理每个字母。
我在想,我可能需要在测试字符串的长度后使用分割函数。
我该怎么做呢?
当前回答
纯javascript的一个可能的解决方案:
for (var x = 0; x < str.length; x++)
{
var c = str.charAt(x);
alert(c);
}
其他回答
纯javascript的一个可能的解决方案:
for (var x = 0; x < str.length; x++)
{
var c = str.charAt(x);
alert(c);
}
如果提醒的顺序很重要,使用这个:
for (var i = 0; i < str.length; i++) {
alert(str.charAt(i));
}
或者这个:(另见这个答案)
for (var i = 0; i < str.length; i++) {
alert(str[i]);
}
如果提醒的顺序不重要,使用这个:
var i = str.length;
while (i--) {
alert(str.charAt(i));
}
或者这个:(另见这个答案)
var i = str.length;
while (i--) {
alert(str[i]);
}
var str = '这是我的字符串'; 函数问题(){ For (var I = 0;I < str.length;我+ +){ alert (str.charAt (i)); } } 函数dontmatter() { Var I = str.length; 当(i——){ alert (str.charAt (i)); } } < p >如果警报的顺序很重要,使用< a href = " # " onclick = "问题()" > < / >。< / p > <p>如果警报的顺序不重要,使用<a href="#" onclick="dontmatter()">this</a>.</p> . this</a>.
当我需要写短代码或一行代码时,我使用这个“hack”:
'Hello World'.replace(/./g, function (char) {
alert(char);
return char; // this is optional
});
它不会计算换行,这可能是好事,也可能是坏事。如果你想包含换行符,替换:/。/ with /[\S\ S]/。您可能看到的其他一行程序可能使用.split(),这存在许多问题
在ES6 / ES2015中,你可以用迭代器遍历字符串,就像你在
的象征。迭代器中数
var str = 'Hello'; var it = str[Symbol.iterator](); 对于(let v of it) { console.log (v) } / /“H” / /“e” / /“l” / /“l” / /“o”
它是一种声明式风格。优势是什么?您不必关心如何访问字符串的每个元素。
如果你想在字符级别上对文本进行转换,并在结束时获得转换后的文本,你会这样做:
var value = "alma";
var new_value = [...value].map((x) => x+"E").join("")
步骤如下:
将字符串拆分为字符数组(列表) 通过函子映射每个字符 将生成的字符数组连接到生成的字符串中
注意:如果您需要性能,可能有更好、更优化的解决方案。我把这个作为一个干净的代码风格的方法发布。