我正在尝试创建一个反复迭代的函数,直到没有任何东西可以迭代。 该函数应该是:抓取每个容器的开头索引,抓取下一个逗号所在的索引(这将是一个整个容器----(例如:APZU09342342 Y257),将其添加到数组中,使新的字符串相同的旧字符串,但没有提取的部分,等一直到结束。数组应该将每个提取的部分作为索引/项目。但问题是我得到"最大调用堆栈超过"这是我的功能:
let string = `ACCU2083917 C324
ACSU2051784 J178
AMFU3002084 Z978
AMFU3153780
AMFU8735314 Z952
AMFU8817182 C324
AMFU8817201 W185
AMFU8923287 Y258
ANYU2097165
APHU6365825 Y257
APHU6392501 E364
APHU6416096 E364
APHU6492265 WAC8
APHU6496430 J745
`;
let reg_newline = /\n/gi; // ---- USE THIS
string = string.replace(reg_newline, ",\n");
let endIndex = string.indexOf(',');
let carryContainers = [];
let cutString;
Iterate();
function Iterate() {
// take out the container + terminal part
cutString = string.substring(0, endIndex);
// push the container + terminal part in array
carryContainers.push(cutString);
// make string start after the comma for every iteration
string = string.substring(endIndex + 1, string.length)
// make end index of next container
endIndex = string.indexOf(',');
//console.log(endIndex)
if (endIndex) {
Iterate();
}
if (!endIndex) {
console.log(carryContainers);
}
}