【发布时间】:2019-12-03 13:23:35
【问题描述】:
我在弄清楚如何根据现有字符串生成新字符串时遇到问题。新创建的字符串应该有一个特定的length。如果 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函数再次将其转换为所需的字符串.我在这里做错了什么,是否有更好的(完全)不同的方法来实现这一点?
【问题讨论】:
标签: javascript arrays string for-loop