拼接字符串并为该值位置的索引添加相同的值?



我想我已经非常接近弄清楚这个问题,但被难住了。

我正在尝试拼接函数获取的任何字符串,并向该字符串返回一个为它在字符串中的位置添加的值。

function addString();

当此函数接收如下值时:

let message = "abcd";

它将返回该值,如下所示:

console.log(addString(message));
"abbcccdddd"

您可以将重复的值映射到单个字符串。

let message = "abcd",
result = [...message].map((c, i) => c.repeat(i + 1)).join('');
console.log(result);

虽然很高兴看到您的尝试,但请尝试一下:

function addString(str) {
var output = "";
str.split("").forEach(function(i, k) { //Split string up, loop through chars
output += Array(k+2).join(str[k]);
});
return output;
}

var myText = prompt("Enter a word.");
alert(addString(myText));

您可以使用该方法创建n出现的c...

function repeatChar(n, c){
return Array(n+1).join(c);
}

我已经操纵了这个逻辑来适应你的问题,特别是将数组长度增加 2 而不是 1,以便索引 0 打印 1 次,依此类推。

这是一个简洁的解决方案:)

const result = 'abcd'.replace(/./g, (c, i) => c.repeat(i+1));
document.write(result);

注意:箭头功能、constrepeat随 ES6 一起提供。

最新更新