我想提醒字符串的每个字母,但我不确定如何做到这一点。

如果我有:

var str = 'This is my string';

我希望能够分别提醒T h I s等等。这只是我正在研究的一个想法的开始,但我需要知道如何分别处理每个字母。

我在想,我可能需要在测试字符串的长度后使用分割函数。

我该怎么做呢?


当前回答

当我需要写短代码或一行代码时,我使用这个“hack”:

'Hello World'.replace(/./g, function (char) {
    alert(char);
    return char; // this is optional 
});

它不会计算换行,这可能是好事,也可能是坏事。如果你想包含换行符,替换:/。/ with /[\S\ S]/。您可能看到的其他一行程序可能使用.split(),这存在许多问题

其他回答

你现在可以使用in关键字。

var s = '异形'; (var c in s) alert(s[c]);

如果你想在字符级别上对文本进行转换,并在结束时获得转换后的文本,你会这样做:

var value = "alma";
var new_value = [...value].map((x) => x+"E").join("")

步骤如下:

将字符串拆分为字符数组(列表) 通过函子映射每个字符 将生成的字符数组连接到生成的字符串中

注意:如果您需要性能,可能有更好、更优化的解决方案。我把这个作为一个干净的代码风格的方法发布。

New JS允许这样做:

const str = 'This is my string';
Array.from(str).forEach(alert);

还有一个解决方案……

var strg= 'This is my string';
for(indx in strg){
  alert(strg[indx]);
}

纯javascript的一个可能的解决方案:

for (var x = 0; x < str.length; x++)
{
    var c = str.charAt(x);
    alert(c);
}