8个单词后,超长循环卡在javascript中

8个单词后,超长循环卡在javascript中,javascript,arrays,loops,for-loop,multidimensional-array,Javascript,Arrays,Loops,For Loop,Multidimensional Array,好的,我有这段代码,它需要很长时间来编译。当它碰到循环时,就是它断裂的地方。我怎样才能解决这个问题 提前谢谢 for (var i = 0; i < splitAT.length; i++) { if ( splitAT[i] !== prev ) { splitAT.push(splitAT[i]); wordCount.push(1); } else { wordCount[wordCount

好的,我有这段代码,它需要很长时间来编译。当它碰到循环时,就是它断裂的地方。我怎样才能解决这个问题

提前谢谢

for (var i = 0; i < splitAT.length; i++)
{
    if ( splitAT[i] !== prev )
    {
        splitAT.push(splitAT[i]);
        wordCount.push(1);
    } 
    else 
    {
        wordCount[wordCount.length-1]++;
    }
    prev = splitAT[i];
 }

return [splitAT, wordCount];



document.write('[' + result[0] + ']<br>[' + result[1] + ']') 
for(变量i=0;i['+结果[1]+']'))
for(变量i=0;i

你是(潜在的)增加正在迭代的数组的长度。
push
将向数组中添加一个额外的项并增加长度。这将导致循环运行很长时间或可能永远运行,具体取决于数据的结构。

停止从迭代数组的循环中修改数组的边界。
for (var i = 0; i < splitAT.length; i++)
{
    if ( splitAT[i] !== prev )
    {
        splitAT.push(splitAT[i]);
...