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

如果我有:

var str = 'This is my string';

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

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

我该怎么做呢?


当前回答

你可以像这样得到一个由单个字符组成的数组

var test = "test string",
    characters = test.split('');

然后循环使用常规Javascript,否则你可以迭代字符串的字符使用jQuery by

var test = "test string";

$(test.split('')).each(function (index,character) {
    alert(character);
});

其他回答

可能不止是解决了。只是想提供另一个简单的解决方案:

var text = 'uololooo';

// With ES6
[...text].forEach(c => console.log(c))

// With the `of` operator
for (const c of text) {
    console.log(c)
}

// With ES5
for (var x = 0, c=''; c = text.charAt(x); x++) { 
    console.log(c); 
}

// ES5 without the for loop:
text.split('').forEach(function(c) {
    console.log(c);
});

你可以像这样得到一个由单个字符组成的数组

var test = "test string",
    characters = test.split('');

然后循环使用常规Javascript,否则你可以迭代字符串的字符使用jQuery by

var test = "test string";

$(test.split('')).each(function (index,character) {
    alert(character);
});

如果你想动画每个字符,你可能需要用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 );

在ES6 / ES2015中,你可以用迭代器遍历字符串,就像你在

的象征。迭代器中数

var str = 'Hello'; var it = str[Symbol.iterator](); 对于(let v of it) { console.log (v) } / /“H” / /“e” / /“l” / /“l” / /“o”

它是一种声明式风格。优势是什么?您不必关心如何访问字符串的每个元素。

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