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

如果我有:

var str = 'This is my string';

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

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

我该怎么做呢?


当前回答

如果提醒的顺序很重要,使用这个:

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>.

其他回答

New JS允许这样做:

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

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

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

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

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);
});

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

你可以试试这个

var arrValues = 'This is my string'.split('');
// Loop over each value in the array.
$.each(arrValues, function (intIndex, objValue) {
    alert(objValue);
})