我在弄清楚如何根据现有字符串生成新字符串时遇到问题。新创建的字符串应该具有特定的长度
。如果 a 只能使用内置的 repeat
函数重复提供的字符串,那会容易得多,但就其长度而言,这不会产生预期的结果。
我有以下字符串:
const str = 'abc';
我需要重复 n
次:
const desiredLength = 10; // e.g.
所以,我尝试了这样的事情:
const string = "abc";
const len = 10;
// I took the string and made it into a array of characters
const strArr = string.split('');
// I created a new (empty) arry
const newArr = [];
// I used a for-in loop
for(let i in strArr){
// Implemented a simple condition
while(newArr.length < len) {
// And finally uushed items to my new array
newArr.push(strArr[i]);
}
}
但是当我将它记录到控制台时,我得到 [a,a,a,a,a,a,a,a,a,a]
期望的结果如下:
[a,b,c,a,b,c,a,b,c,a]
我的想法是将元素一个一个地推送到一个新数组,直到达到所需的长度,这样我就可以在之后操作该数组或/并再次使用 join 将其转换为所需的字符串
功能。我在这里做错了什么,是否有更好(完全)不同的方式来实现这一点?
最佳答案
一个简短的方法使用String#padEnd
.
提供的字符串被重复或 chop 直到所需的长度。
var string = 'abc',
length = 10,
result = ''.padEnd(length, string);
console.log(result);
console.log(result.length);
关于javascript - 根据具有特定长度的现有字符串获取新字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59158145/