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

如果我有:

var str = 'This is my string';

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

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

我该怎么做呢?


当前回答

在今天的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“]

其他回答

还有一个解决方案……

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

试试这段代码

    function myFunction() {
    var text =(document.getElementById("htext").value); 
    var meow = " <p> <,> </p>";
    var i;


    for (i = 0; i < 9000; i++) {

        text+=text[i] ;



    }

    document.getElementById("demo2").innerHTML = text;

}
</script>
<p>Enter your text: <input type="text" id="htext"/>

    <button onclick="myFunction();">click on me</button>
</p>

你可以试试这个

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

如何处理每个文本字母(使用基准测试)

https://jsperf.com/str-for-in-of-foreach-map-2

for

这是迄今为止最经典的一款。如果您计划在性能关键算法中使用它,或者它需要与浏览器版本的最大兼容性,那么应该使用它。

for (var i = 0; i < str.length; i++) {
  console.info(str[i]);
}

的……

为…of是新的ES6 for迭代器。大多数现代浏览器都支持。它在视觉上更有吸引力,也不容易出现打字错误。如果您打算在生产应用程序中实现这一点,那么您可能应该使用Babel这样的转译器。

let result = '';
for (let letter of str) {
  result += letter;
}

forEach

功能的方法。Airbnb批准。这样做的最大缺点是split(),它创建了一个新数组来存储字符串的每个字母。

为什么?这就强制执行了我们的不可变规则。处理纯函数 返回值比副作用更容易理解。

// ES6 version.
let result = '';
str.split('').forEach(letter => {
  result += letter;
});

or

var result = '';
str.split('').forEach(function(letter) {
  result += letter;
});

以下是我不喜欢的。

对…

不像……的,你得到的是字母索引而不是字母本身。它的表现非常糟糕。

var result = '';
for (var letterIndex in str) {
  result += str[letterIndex];
}

map

函数方法,很好。然而,地图并不是用来做这个的。当需要更改数组中的值时,应该使用它,但实际情况并非如此。

// ES6 version.
var result = '';
str.split('').map(letter => {
  result += letter;
});

or

let result = '';
str.split('').map(function(letter) {
  result += letter;
});

您可以使用split()将此字符串转换为字符数组,然后遍历它。

Const STR = "javascript"; const strArray = str.split("); strArray。Map (s => console.log(s));