javascript - Javascript - 构造一个数组,其中的元素从字符串中重复
问题描述
假设有一个字符串aba
和一个限制 5。我如何创建一个数组,其中元素从字符串重复直到达到限制?
例如string = "aba"
并且limit = 5
会给新的array ["a","b","a","a","b"]
截至目前,我的数组填充了所有字符,然后为左侧索引重复空白字符串。
function repeatedString(s, n) {
let arr = [];
for (let i = 0; i < n; i++) {
let char = s.charAt(i);
arr.push(char);
}
console.log(arr);
}
repeatedString("aba", 5)
解决方案
您的代码几乎就在那里。当您达到字符串的长度时,您只需要让您使用的索引.charAt()
返回 0。这可以使用带有字符串长度的余数运算符( ) 来完成,如下所示:%
function repeatedString(s, n) {
let arr = [];
for (let i = 0; i < n; i++) {
let char = s.charAt(i % s.length);
arr.push(char);
}
console.log(arr);
}
repeatedString("aba", 5)
推荐阅读
- php - PHP DOM 如何从 UL 获取项目和子项目
- reactjs - GSAP 对从服务器获取的数组中的元素进行动画处理
- batch-file - 根据时间更改文件名
- python - 我可以在一个 file.py 中导入 matplotlib.pyplot 但我无法在 django 应用程序的 view.py 中导入它
- android - Firebase 自定义事件计数超过了 Firebase 限制事件计数
- java - 逐列迭代二维数据,在 Java 中处理和存储列标题
- android - GoogleClientApiConnected 异常从何而来?
- expression - 如何获取 Pyomo 命名表达式的 sulution 值?
- azure-devops - 如何在 Azure DevOps Server 中找到许可证信息?
- angular - 有没有办法让 2 个带有角度组件的 html 模板?