拼接一个字符串并为该值所在位置的索引添加相同的值?
Splicing a string and adding the same value for the index of the place of that value?
我想我已经很接近解决这个问题了,但是被难住了。
我正在尝试拼接函数获取的任何字符串,并return将该字符串添加到它在字符串中所占位置的值。
function addString();
当此函数收到如下值时:
let message = "abcd";
它会 return 这样的值:
console.log(addString(message));
"abbcccdddd"
虽然很高兴看到 你的 尝试,但试试这个:
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);
注意:箭头函数,const
和 repeat
是 ES6 自带的。
您可以映射重复值并连接到单个字符串。
let message = "abcd",
result = [...message].map((c, i) => c.repeat(i + 1)).join('');
console.log(result);
我想我已经很接近解决这个问题了,但是被难住了。
我正在尝试拼接函数获取的任何字符串,并return将该字符串添加到它在字符串中所占位置的值。
function addString();
当此函数收到如下值时:
let message = "abcd";
它会 return 这样的值:
console.log(addString(message));
"abbcccdddd"
虽然很高兴看到 你的 尝试,但试试这个:
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);
注意:箭头函数,const
和 repeat
是 ES6 自带的。
您可以映射重复值并连接到单个字符串。
let message = "abcd",
result = [...message].map((c, i) => c.repeat(i + 1)).join('');
console.log(result);