如何使用JS复制字符串中的每个字母

时间:2014-02-26 19:54:28

标签: javascript for-loop

我正在尝试将我的字符串xyz加倍到JS中的xxyyzz但无法让它正确返回。我做错了什么?

<script>
string=["xyz"];
for (var i=0;i<string.length;i++)
{
document.write(string[i]*2);
}
</script>

4 个答案:

答案 0 :(得分:4)

var string = "xyz".split('').map(function(s){return s+s}).join('');

我喜欢使用数组映射而不是for循环。对我来说似乎更清洁。

答案 1 :(得分:0)

正确的方法是将字符串添加到一起(连接),而不是使用乘以2的字符串。见下文:

<script type="text/javascript">

var string = ['xyz'];

for (var i = 0, len = string.length; i < len; i++) {
    document.write(string[i] + string[i]);
}

</script>

答案 2 :(得分:0)

一些问题:

  • 您已在数组中声明string,将string.length的值设为1,因为它是元素数
  • 不幸的是,你无法将字符串相乘。你需要连接它们

我是这样做的:

var string = "xyz";
var newString = "";
for (var i = 0; i < string.length; i++)
    newString += string[i] + string[i];
document.write(newString);

答案 3 :(得分:0)

  1. 你没有声明一个字符串,你声明了一个长度为1的字符串数组。

  2. 您是数组(string[i]*2)的乘法位置,尝试连接(string[i] + string[i])。

  3. 这应该有效:

    var string = 'xyz';
    
    for (var i = 0, len = string.length; i < len; i++) {
        document.write(string[i] + string[i]);
    }