我有一个从转换后的 CHANGELOG.md
文件中获取的列表,它看起来像这样:
["[3.0.0]","Features", "changes done in file","[2.0.1]", "Bug Fixes", "fixed login"]
我想要做的是将每个版本分成自己的列表,如下所示:
["[3.0.0]", "Features", "changes done in file"],
["[2.0.1]", "Bug Fixes", "fixed login"]
显然,因为它是一个变更日志,所以单个版本中可以有多个功能和多个错误修复,所以我想要一段代码来适本地分隔代码。
我尝试使用 if (string.startsWith('['))
但我无法将其放入循环中。
感谢任何帮助。
最佳答案
这是我想出的东西。该代码基本上循环输入数组并将每个字符串添加到 currentArray 变量中。每次遇到 [
时,它都会将 currentArray 放入输出中并清除 currentArray。最后,它删除第一个元素,因为输出的第一个元素始终是一个空数组(因为输入的第一个元素以 [
开头)
var input = ["[3.0.0]","Features", "changes done in file","[2.0.1]", "Bug Fixes", "fixed login"];
var output = [];
var currentArray = [];
for (var i = 0; i < input.length; i++) {
if (input[i].charAt(0) == '[') {
output.push(currentArray);
currentArray = [];
}
currentArray.push(input[i]);
}
output.push(currentArray);
currentArray = [];
//Since it will take the first one, and put empty one, need to do last step.
output.splice(0, 1);
console.log(output);
// ["[3.0.0]", "Features", "changes done in file"],
// ["[2.0.1]", "Bug Fixes", "fixed login"]
关于javascript - 按一定顺序分隔数组中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50866712/