我想提醒字符串的每个字母,但我不确定如何做到这一点。
如果我有:
var str = 'This is my string';
我希望能够分别提醒T h I s等等。这只是我正在研究的一个想法的开始,但我需要知道如何分别处理每个字母。
我在想,我可能需要在测试字符串的长度后使用分割函数。
我该怎么做呢?
我想提醒字符串的每个字母,但我不确定如何做到这一点。
如果我有:
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(),这存在许多问题
其他回答
还有一个解决方案……
var strg= 'This is my string';
for(indx in strg){
alert(strg[indx]);
}
你可以简单地在数组中迭代它:
for(var i in txt){
console.log(txt[i]);
}
在ES6 / ES2015中,你可以用迭代器遍历字符串,就像你在
的象征。迭代器中数
var str = 'Hello'; var it = str[Symbol.iterator](); 对于(let v of it) { console.log (v) } / /“H” / /“e” / /“l” / /“l” / /“o”
它是一种声明式风格。优势是什么?您不必关心如何访问字符串的每个元素。
你可以像这样得到一个由单个字符组成的数组
var test = "test string",
characters = test.split('');
然后循环使用常规Javascript,否则你可以迭代字符串的字符使用jQuery by
var test = "test string";
$(test.split('')).each(function (index,character) {
alert(character);
});
New JS允许这样做:
const str = 'This is my string';
Array.from(str).forEach(alert);