javascript - 根据具有特定长度的现有字符串获取新字符串

标签 javascript arrays string for-loop

我在弄清楚如何根据现有字符串生成新字符串时遇到问题。新创建的字符串应该具有特定的长度。如果 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/

相关文章:

javascript - 使用正则表达式删除 JavaScript 中的最后一个大括号

arrays - 二维数组的唯一编号分配

javascript - 数组的长度属性如何在 javascript 中工作?

string - 用groovy格式化字符串

java - 如何找到数组ID?

javascript - 使用 Drum Machine 的 setTimeout 解决延迟问题

javascript - 无法读取未定义的 Three.js 的属性 'material'

javascript - 我在 Chrome 中收到 "Canvas has been tainted"错误,但在 FF 中没有

java - 将 XML 字符串转换为 ArrayList

Java 从字符串中删除/删除多个单词