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

如果我有:

var str = 'This is my string';

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

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

我该怎么做呢?


当前回答

//有很多方法,但我觉得这个最简单。 let str = '这是我的字符串'; For (let character of str) console.log(字符)

其他回答

可以使用str. charat (index)或str[index]访问单个字符。但是后一种方式不是ECMAScript的一部分,所以你最好使用前一种方式。

在今天的JavaScript中,你可以

Array.prototype.map。call('This is my string', (c) => c+c)

显然,c+c表示你想用c做的任何事情。

这将返回

[“TT”, “hh”, “ii”, “ss”, “”“, ”ii“, ”ss“, ”, “mm”, “yy”, “ ”ss“, ”tt“, ”rr“, ”ii“, ”nn“, ”gg“]

如果你想动画每个字符,你可能需要用span元素来包装它;

var $demoText = $("#demo-text");
$demoText.html( $demoText.html().replace(/./g, "<span>$&amp;</span>").replace(/\s/g, " "));

我认为这是最好的方法,然后处理张成的空间。(例如TweenMax)

TweenMax.staggerFromTo( $demoText.find(“span”), 0.2, {autoAlpha:0}, {autoAlpha:1}, 0.1 );

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

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

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

New JS允许这样做:

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